[WEB][HTML5] 입력 양식 태그

입력 양식용 태그, <form>


<form> 태그 속성

  • method
    > 생략 가능
    > default: GET 방식 요청
  • action
    > 생략 가능
    > default: 현재 사용중인 URL로 전송
  • autocomplete
    > 예전에 입력했던 값들을 노출되지 않도록 하기 위함
  • enctype
    > default: application/x-www-form-urlencoded

    > 특수 문자일 경우 다른 문자로 인코딩 되어서 전송됨
    (ex) @ → %40
    > 파일을 보낼 경우엔 반드시 multipart/form-data로 설정하여 인코딩 안 되고 그대로 전송!

 

  <body>
    <form autocomplete="off" method="get" enctype="application/x-www-form-urlencoded">
      <input type="text" name="text" /><br />
      <input type="password" name="password" /><br />      
    </form>
  </body>

type="text"

  • 기본 입력창

 

type="password"

  • 비밀번호 입력창
  • 입력한 내용이 보이지 않음

 

  <body>
    <form>
    	<input type="checkbox" /> one 
        <input type="checkbox" /> two
        <input type="checkbox" /> three <br />
    
    	<input type="radio" name="number" value="one" /> ONE
        <input type="radio" name="number" value="two" /> TWO
        <input type="radio" name="number" value="three" /> THREE
    </form>
  </body>

type= "radio"

  • name 속성을 같게 입력해야 단일 선택 (like 그룹 설정)

 

  <body>
    <form>
      <input type="hidden" name="hidden" value="hidden" /><br />
    </form>
  </body>

type="hidden"

  • 보이지 않는 입력 양식

 

<body>
   <form>
    	<input type="button" value="전송1" /><br />
    	<button>전송2</button> <!-- form 태그 내부의 button 태그는 type="submit"-->
    	<button type="submit">전송3</button>
    </form>
</body>

type="submit" value="타이틀"

  • value 안에는 text 밖에 못 씀, value값이 버튼의 타이틀!

 

<button>

  • default 기능은 submit
  • 그냥 버튼을 만들 것이라면 type="button" 속성을 줘야함
  • 사이에 이미지를 넣는다면 이미지 버튼이 만들어지는 것!

 

GET 방식으로 submit 했을 때

?text=text&password=password&file=&hidden=hidden
  • text와 password는 빈값으로 submit해도 키 값은 넘어감.

 

?text=text&password=password&file=&number=one&hidden=hidden
  • checkbox와 radio 값은 체크하지 않는다면 전달 자체가 되지 않음.
  • 체크 해야 value 값이 넘어옴!

 

  <body>
    <form>
      <label for="name">이름</label>
      <input id="name" type="text" />
    </form>
  </body>

<label>

  • 라벨된 부분을 클릭하면 그곳으로 커서 이동
  • 칸이 작아서 클릭을 잘 못하는 부분들을 보완!

 

<select>
	<option>김밥</option>
	<option>떡볶이</option>
</select>

<select multiple="multiple">
	<option>김밥</option>
	<option>떡볶이</option>
</select>

<select>

  • value가 지정되지 않았다면 태그 사이에 있는 내용이 value로 지정
  • default: 단일 선택
  • multiple: 다중 선택

 

form 형태 test=값1&test=값2&test=값3 
json 형태 test: [값1, 값2, 값3]     (form처럼 못하는 이유? key값이 중복되기 때문)
  •  서버는 배열 or 리스트로 받음

 

<body>
  <textarea>
    Textarea 태그
    Textarea 태그
    </textarea
  >
</body>
<body>
  <textarea>
Textarea 태그
    Textarea 태그</textarea
  >
</body>

<textarea>

  • 엔터, 탭, 스페이스가 그대로 출력!
  • 따라서 value가 될 내용들은 출력하고 싶은 모양 그대로 쓰면 됨

 

<input> 속성

  • placeholder: 안드로이드에서 hint와 같은 기능, 도움말!
  • required
  • disabled
  • checked
    • 속성명과 속성값이 같을 경우엔 속성명만 적어주면 돼



🧨 주의할 점!

name 속성의 목적
* 데이터를 전달하기 위함,즉 정보 전송! 🛬

id 속성의 목적
* 문서에서 요소를 식별하기 위함
* 중복 x

> name은 없고 id만 있을 경우엔 값을 입력해도 전송되지 않음.

 

'Web > html' 카테고리의 다른 글

[WEB][HTML5] 구조화 태그  (0) 2025.03.06