티스토리 뷰

반응형

폼 관련 태그들 - 사용자 입력을 위한 <input> 태그 2

1. type="hidden" - 히든 필드 만들기

  • 히든(hidden) 필드는 화면상의 폼에는 보이지 않지만 사용자가 입력을 마치고 폼을 서버로 전송할 때 서버로 함께 전송되는 요소입니다.
  • 사용자에게 굳이 보여 줄 필요가 없지만 관리자가 알아야 하는 것을 히든 필드로 보통 입력합니다.
  • 히든 필드를 삽입할 때는 name 속성을 이용해 히든 필드의 이름을 지정하고 그에 대한 값은 value 속성을 이용해 서버로 넘겨줍니다.
  • 예를 들어 아이디 중복 체크하는 것으로 사용자가 회원 가입 양식을 작성하고 서버로 전송할 때 hidden 필드의 값도 함께 서버로 전송됩니다.



기본형 : <input type="hidden" name="이름" value="서버로 넘길 값">



2. type="text" - 텍스트 필드 만들기

  • 텍스트 필드는 한 줄짜리 일반 텍스트를 입력하는 필드입니다.
  • 폼에서 가장 많이 사용하는 요소로 주로 아이디나 이름, 주소 등 텍스트를 입력할 때 사용합니다.
  • 이 기능은 브라우저와 상관없이 사용 가능합니다.

 

기본형 : <input type="text" [속성="속성 값"]>

텍스트 필드에서 사용할 수 있는 속성

속 성 설 명
name 텍스트 필드를 구별할 수 있도록 이름을 붙입니다.
size 텍스트 필드의 길이를 지정합니다. 즉 화면에 몇 글자가 보이도록 할 것인지를 지정합니다. 예를 들어 최대 입력 가능한 글자 수가 10개 인데 size를 5로 지정하면 텍스트 필드 크기가 5개 글자 크기에 맞추어져 나머지 5개 글자는 화면에 보이지 않습니다.
value 텍스트 필드 요소가 화면에 표시될 대 텍스트 필드 부분에 표시될 내용입니다. 이 속성을 사용하지 않으면 빈 텍스트 필드가 표시됩니다.
maxlength 텍스트 필드에 입력할 수 있는 최대 문자 개수를 지정합니다.



3. type="password" - 비밀번호 입력란 만들기

  • "text" 타입이 아이디 입력란을 만들었다면 "password"는 말 그대로 비밀번호 입력란을 만듭니다.
  • 패스워드 필드는 텍스트 필드와 거의 같지만 사용자가 입력하는 내용이 화면에 그대로 표시되지 않고 '*'나 '●'로 표시됩니다. 속성도 value 속성이 없다는 점만 제외하면 텍스트 필드와 같습니다.

 

기본형 : <input type="password" [속성="속성 값"]>

 

가장 기본적인 로그인 폼 예제

<form>
    <fieldset style="width: 500px; padding: 15px">
        <label style="margin-right: 30px">아이디: <input type="text" id="user_id" size="10"></label>
        <label>비밀번호: <input type="password" id="user_password" size="10"></label>
        <input type="submit" value="로그인">
    </fieldset>
</form>



4. type="search", type="url", type="email", type="tel" - 분화된 텍스트 필드

1) type="search" - 검색 상자 만들기

  • 텍스트 필드를 이용해 표시했던 검색 상자가 HTML5에서는 type="search"라는 별도 유형으로 추가되었습니다.
  • 하지만 크롬 브라우저나 MS 엣지 브라우저 등 일부 브라우저에서는 검색 창에 검색어를 입력 했을 때 오른쪽에 X가 표시되어 입력했던 검색어를 손쉽게 지울 수 있습니다.

 

기본형 : <input type="search" [속성="속성 값"]>

 

<input type="search">



2) type="url" - URL 입력란 만들기

  • 웹 주소도 텍스트 필드에서 분화되어 type으로 별도로 지정됩니다.
  • 웹 주소 필드는 전혀 공백이 없고 영문자와 마침표, 슬래시(/)로만 이루어져 있다는 점을 기준으로 구분합니다.
  • type="url"을 사용했을 때 이 필드에는 반드시 'http://'로 시작하는 사이트 주소를 입력해야 합니다.



3) type="email" - 메일 주소 입력란 만들기

  • 메일 주소를 입력해야 할 경우, 기존 HTML에서는 텍스트 필드를 사용해 사용자가 내용을 입력하면 자바스크립트를 이용해 '@' 문자가 들어가 있는 지 체크했습니다. 하지만 HTML5에서는 type="eamil"로 지정만 하면 브라우저 자체에서 사용자가 입력한 내용이 메일 주소 형식에 맞는지 자동으로 체크해 주기 때문에 이메일 필드를 손쉽게 만들수 있습니다.

 

기본형 : <input type="email" [속성="속성 값"]>



4) type="tel" - 전화번호 입력란 만들기

  • 전화번호는 지역마다 형식이 다르기 때문에 사용자가 입력한 값을 체크하지 않고 사용자가 입력한 정보가 일반 텍스트가 아니라 전화번호라는 사실을 인식합니다.

 

기본형 : <input type="tel" [속성="속성 값"]>



<style>
    .exam1 {width: 400px; height: 500px; border: 2px solid pink; padding: 30px;}
    .exam1 form {width: 400px; text-align: right;}
    .exam1 fieldset {margin-bottom: 30px;}
    .exam1 ul {margin-right: 20px;}
    .exam1 li {list-style: none; margin-bottom: 15px}
    
</style>

<div class="exam1">
    <h2>회원 가입</h2>
    <form>
        <fieldset>
            <legend>로그인 정보</legend>
            <ul>
                <li>
                    <label for="id">아이디</label>
                    <input type="text" id="id">
                </li>
                <li>
                    <label for="pw">비밀번호</label>
                    <input type="password" id="pw">
                </li>
                <li>
                    <label for="repw">비밀번호 확인</label>
                    <input type="password" id="repw">
                </li>
            </ul>
        </fieldset>
        <fieldset>
            <legend>개인 정보</legend>
            <ul>
                <li>
                    <label for="user_name">이름</label>
                    <input type="text" id="user_name">
                </li>
                <li>
                    <label for="mail">메일 주소</label>
                    <input type="email" id="mail">
                </li>
                <li>
                    <label for="phone">연락처</label>
                    <input type="tel" id="phone">
                </li>
                <li>
                    <label for="homep">블로그/홈페이지</label>
                    <input type="url" id="homep">
                </li>
            </ul>
        </fieldset>
    </form>
</div>



 

 

참고 : HTML5 + CSS3 웹 표준의 정석

반응형
댓글
© 2019 Eun's