[HTML5] <form> 태그 1


<form> 태그 1


1. 텍스트 입력


(1) 텍스트 필드

사용자로부터 텍스트 입력 받는다. 한줄 정도의 단문에 적당하고 긴 줄의 텍스트는 <textarea> 를 이용한다. 


1) 문법

<input type="text" name="값의 이름" value="값" disabled="disabled" readonly="readonly" />


- type : text를 사용해야 텍스트 필드가 된다. 

- name : 입력한 데이터의 이름

- value : 데이터의 값. 입력한 데이터의 기본 값으로 이 값이 기본적으로 텍스트 필드에 표시된다. 

- disabled : 값으로 disabled을 지정하면 텍스트 필드가 불능 상태가 된다. 서버로 전송해도 이 속성이 설정된 컨트롤의 데이터는 서버로 전송되지 않는다. 

- readonly : 값으로 readonly를 지정하면 텍스트 필드에 값이 입력되지 않는다. 서버로는 데이터가 전송된다. 


2) 예제

example1.html

<!DOCTYPE html>

<html>

    <head>

        <title>생활코딩</title>

        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >

    </head>

    <body>

        <form action="url" method="GET">

            닉네임 :

            <input type="text" name="nickname" />

            <br />

            <input type="submit" />

        </form>

    </body>

</html>


(2) 비밀번호

보안이 중시되는 데이터의 입력을 받는다.  


1) 예제 

example2.html

<!DOCTYPE html>

<html>

    <head>

        <title>생활코딩</title>

        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >

    </head>

    <body>

        <form action="url" method="GET">

            비밀번호 :

            <input type="password" name="password" />

            <br />

            <input type="submit" />

        </form>

    </body>

</html>


(3) hidden data

화면상에 표시되지 않는 컨트롤을 생성한다. 서버로 전달할 데이터이지만 사용자에게는 노출될 필요가 없는 데이터인 경우 사용한다. 

사용자가 지정하지 않은 정보의 데이터를 전송하기 위함.


1)  예제

example3.html

<html>

    <head>

        <title>생활코딩</title>

        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >

    </head>

    <body>

        <form action="url" method="GET">

            이름 :

            <input type="text" name="name" />

            <input type="hidden" name="language" />

            <br />

            <input type="submit" />

        </form>

    </body>

</html>


(4) textarea

여러줄의 텍스트 입력 할 때 사용한다. (text: 한 줄)


1) 문법

<textarea name="값의 이름" rows="행의 수" cols="열의 수" disabled="disabled" readonly="readonly">값</textarea>


rows : 입력한 행위 수 만큼 높이가 정해진다. ex.) 10행

cols : 입력한 열의 수 만큼 폭이 정해진다. ex.) 한 줄에 10글자


2) 예제

example4.html 

<!DOCTYPE html>

<html>

    <head>

        <title>생활코딩</title>

        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >

    </head>

    <body>

        <form action="url" method="GET">

            내용 : <br />

            <textarea rows="5" cols="20"></textarea> <br />

            <input type="submit" />

        </form>​

    </body>

</html>


2. 선택

(1)  라디오 버튼 

여러개의 항목 중에서 하나만을 선택 할 수 있도록 제한하는 컨트롤


1) 문법

<input type="radio" name="값의 이름" value="값" checked="checked">


- name이라는 속성의 값은 같은 값을 사용하고 있어야 한다.

- value라는 속성의 값은 다른 값을 사용하고 있어야 한다.


2) 예제

example1.html

<!DOCTYPE html>

<html>

        <head>

                <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >

        </head>

        <body>

                <form action="example_receive_single.php" method="POST">

                    관심사 : <br />

                    <input type="radio" name="interest" value="programming" checked="checked" /> 프로그래밍<br />

                    <input type="radio" name="interest" value="design" /> 디자인<br />

                    <input type="radio" name="interest" value="planning" /> 기획<br />

                    <input type="submit" />

                </form>

        </body>

</html>


example_receive_single.php - 사용자가 전송한 데이터를 서버 쪽에서 처리한다. 

<html>

        <body>

                당신의 관심사는? <?=$_POST['interest']?>

        </body>

</html>


(2) 콤보박스

여러개의 항목 중에서 원하는 것을 하나만 선택하는 컨트롤로 흔히 콤보박스라고 부른다. --> 공간의 효율성 높인다.


1) 문법

<select name="값의 이름" multiple="multiple">

   <option value="선택될 경우 name의 값이 됨" selected="selected">값에 대한 표시값</option>

   ...option 반복

</select>


- multiple : 이 속성의 값을 mulitple로 지정하면 여러개의 항목을 선택할 수 있는 컨트롤이 된다. --> 복수 선택 방법(ctrl+항목지정)


2) 예제

example2.html 

<!DOCTYPE html>

<html>

        <head>

                <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >

        </head>

        <body>

                <form action="example_receive_single.php" method="POST">

                        관심사 : <br />

                        <select name="interest">

                                <option value="programming">프로그래밍</option>

                                <option value="design" selected="selected">디자인</option>

                                <option value="planning">기획</option>

                        </select>

                        <input type="submit" />

                </form>

        </body>

</html>


(3) 체크 박스

여러개의 항목 중에서 원하는 것을 복수로 선택할 수 있게 하는 컨트롤로 체크박스라고 부른다.


1) 문법

<input type="checkbox" name="값의 이름" value="값" />


- checkbox는 여러개의 값을 같은 이름으로 전송해야 하기 때문에 연관된 항목들의 name 값을 같은 이름으로 지정한다. 

- name의 이름 끝에 '[]'를 붙이면 서버 쪽에서 실행되는 언어가 이 값을 배열로 인지한다. 


2) 예제

example3.html

<!DOCTYPE html>

<html>

        <head>

                <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >

        </head>

        <body>

                <form action="example_receive_multi.php" method="POST">

                    관심사 : <br />

                    <input type="checkbox" name="interest[]" value="programming" /> 프로그래밍<br />

                    <input type="checkbox" name="interest[]" value="design" /> 디자인<br />

                    <input type="checkbox" name="interest[]" value="planning" checked="checked" /> 기획<br />

                    <input type="submit" />

                </form>

        </body>

</html>​


example_receive_multi.php 

<html>

    <body>

        당신의 관심사는? <br />

        <ul>

            <?php

            foreach($_POST['interest'] as $entry){

                echo "<li>$entry</li>";

            }

            ?>

        </ul>

    </body>

</html>



'WebFont-end > HTML5' 카테고리의 다른 글

[HTML5] <form> 태그_GET과 POST  (0) 2014.12.21
[HTML5] <form> 태그 2  (0) 2014.12.20
[HTML5] 아이프레임과 프레임  (0) 2014.12.20
[HTML5] <meta> 태그  (0) 2014.12.20
[HTML5] 이스케이핑  (0) 2014.12.20