각진 세상에 둥근 춤을 추자
[HTML] 폼 만들기 본문
웹 폼은 특정 항목에 사용자가 뭔가를 입력하는 형태이다.
익숙하게 사용하는 로그인 창도 웹 폼을 이용한 대표적인 사례이다.
<form> 태그 - 폼 만들기
<form> 태그는 폼을 만드는 가장 기본적인 태그로 <form> 태그와 </form> 태그 사이에 여러 폼 요소와 관련된 태그를 넣는다.
<form [속성="속성 값"]> 여러 폼 요소 </form>
속성 | 설명 | ||
method | 사용자가 입력한 내용을 서버 프로그램에 어떻게 넘길지 지정한다. | ||
속성 값 | get | 주소 표시줄에 사용자가 입력한 내용이 그대로 드러난다. | |
post | 사용자의 입력을 표준 입력으로 넘겨 입력 내용 길이에 제한을 받지 않고 입력한 내용이 드러나지 않는다. |
||
name | 폼의 이름을 지정한다. | ||
action | <form> 태그 안의 내용을 처리할 서버 상의 프로그램을 지정한다. | ||
target | <action> 태그에서 지정한 스크립트 파일을 현재 창이 아닌 다른 위치에서 열도록 지정한다. |
예제 - 검색 창 만들기
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>검색 창 만들기</title>
</head>
<body>
<form action="search.php" method="post">
<input type="text" title="검색">
<input type="submit" value="검색" >
</form>
</body>
</html>
autocomplete 속성 - 자동 완성 기능
검색창이나 로그인 창에 내용을 입력할 때 이전에 입력했던 내용이 아래에 표시되는 것을 가끔 볼 수 있다.
이 기능을 '자동 완성 기능'이라고 한다.
자동 완성 기능은 autocomplete 속성을 이용하는데 기본값은 "on"이다.
하지만 <form> 태그의 autocomplete 속성을 "off"로 지정해 끌 수 있다.
<form action="search.php" autocomplete="off">
...
</form>
<label> 태그 - 폼 요소에 레이블 붙이기
<label> 태그는 폼 요소에 레이블을 붙이기 위한 것이다.
<label> 태그를 사용하면 폼 요소와 레이블 텍스트가 서로 연결되어 있다는 것을 브라우저가 알 수 있다.
<label [속성="속성 값"]> 레이블 <input...> </label>
<label for = "id이름"> 레이블 </label>
<input id= "id이름" [속성 = "속성 값]>
예제 - <label> 태그 사용하기
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>label 태그 사용하기</title>
</head>
<body>
<form>
<h3>수강 과목 (1과목 선택 가능)</h3>
<ul>
<li>
<label><input type="radio" name="subject" value="eng">영어회화</label>
</li>
<li>
<label><input type="radio" name="subject" value="ch">중국어회화</label>
</li>
<li>
<label><input type="radio" name="subject" value="kor">한국어회화</label>
</li>
</ul>
</form>
</body>
</html>
<fieldset>, <legend> 태그 - 폼 요소 그룹으로 묶기
하나의 폼 안에서 여러 구역을 나누어 표시하려고 할 때 <fieldset>, <legend> 태그를 사용한다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>fieldset</title>
</head>
<body>
<form>
<fieldset>
<legend>개인 정보</legend>
<ul>
<li>
<label for="name">이름</label>
<input type="text" id="name">
</li>
<li>
<label for="mail">메일 주소</label>
<input type="text" id="mail">
</li>
</ul>
</fieldset>
<fieldset>
<legend>로그인 정보</legend>
<ul>
<li>
<label for="id">아이디</label>
<input type="text" id="id">
</li>
<li>
<label for="password">비밀번호</label>
<input type="text" id="pass">
</li>
</ul>
</fieldset>
</form>
</body>
</html>
'HTML' 카테고리의 다른 글
[HTML] <input> 태그의 속성 (0) | 2022.09.27 |
---|---|
[HTML] <input> 태그와 타입 (0) | 2022.09.27 |
[HTML] 아이프레임과 target (0) | 2022.09.23 |
[HTML] 링크 태그 (0) | 2022.09.22 |
[HTML] 이미지 태그 (0) | 2022.09.22 |