form

:사용자에게 입력 받아 데이터를 서버로 전송하는 영역

 

1. form 의 속성

  • action
    : form 내용을 전송할 주소 action="action.net" 형식으로 사용
    - 속성이 없거나 action=""일 경우 현재 페이지로 데이터가 전송됨
    - 속성이 없거나 action=""일 경우 자바스크립트 submit 이벤트 핸들러를 사용해  원하는 url로 전송 가능함.

  • method
    : 입력 받은 내용을 서버에 전달하는 방식 method="post" 형식으로 사용
get  method 속성이 지정되지 않았을 경우 기본값으로 데이터를 url 의 쿼리 문자열로 전송
post 데이터를 url의 쿼리 문자열로 전송
dialog 양식 영역이  대화상자를 닫고 데이터를 제출하거나, 양식을 지우지 않고, 제출 시 제출 이벤트가 시작되도록 함
대화 상자 안에 있는 웹 양식 영역의 데이터를 대화 상자의 반환 값으로 설정할 때 사용
  • novalidate
    :  유효성 검사를 하지 않고 데이터를 전송함.
    - <input> 태그 안에  required 속성이 무시됨
    -  기본적으로 올바른 형식으로 입력이 되었는지 확인을 하는 type="url", type="email" 의 유효성 검사를 하지 않음

  •  target
    : 폼이 제출된후 결과를 표시할 위치를 지정   target="_blank" 혁식으로 사용       
_self 기본값,
제출 결과가 현재 창이나 프레임에 표시
_blank 제출 결과가 새 창이나 새 탭에 표시
_parent 제출 결과가 부모 프레임에 표시됨,
프레임 구조가 없는 경우 _ self와 동일하게 동작
_top 제출 결과가 전체 창의 최상위 프레임에 표시됨.
프레임 구조가 없는 경우 _self와 동일하게 동작
  • enctype
    : method 속성이 post로 설정된 경우에 주로 사용
     - 양싱에 포함된 컨트롤 요소들의 데이이터가 제출될 때 사용되는 인코딩 유형을 지정
        enctype="text/plain" 형식으로 사용
application/x-www-form-urlencoded 기본값, 
모든 문자들이  url 인코딩 되어 전송됨
기본적인 양식 데이터 인코딩 방식
 multipart/form-data 파일 업로드를 지원
양식 데이터가 여러 부분으로 나뉘어 전송되며 각 부분은 자체적으로 인코딩 됨.
type="file" 이 포함되어 있을 때 사용함
 text/plain 양식 데이터가 일반 텍스트로 인코딩됨

참고 : HTML <form> 태그 – 폼 요소

2. <label>  라벨

: 인풋 박스의 제목 또는 설명요소로 인풋에 포커스 되었을때 스크린리터가 label을 읽어줌으로 웹접근성을 높여준다. 
: checkbox, radio 버튼 선택시  for 와 id 가 연결 되어 있거나, label이 인풋 박스를 감싸고 있을 경우 라벨을 클릭하면
 체크가 되기 떄문에 체크 영역을 넓혀주는 효과도 있다.

<!-- 사용 1 : 암묵적-->
<label>
  아이디
  <input name="userid">
</label>


<!-- 사용 2 : 명시적 for와 id에 동인한 이름을 사용하여 연결해 준다.-->
<label for="username">아이디</label>
<input id="username" name="userid">

3. <input> 인풋

: 사용자의 입력을 직접 받는 영역으로 닫는 태그가 없다. 

3-1. <input> 태그와 함께 사용 되는 속성

  • name : 폼전송시 입력폼에 매칭되는 이름으로 사용하는 값
  • placeholder : 값이 비어 있을때 보여주는 값: ex) '-' 빼고 번호만 입력
  • required : 반드시 입력해야 하는 값, required로 설정된 인풋이 비어 있으면 전송이 되지 않는다.
  • readonly : 폼의 입력을 막는 기능, 폼 전송시 기본값이 전달 된다. 
  • disabled :  폼의 입력을 막는 기능, 폼 전송시 값이 전송 되지 않는다. 
  • hidden : 사용자에게는 보이지 않아도 되지만 값을 전송해야 하는 경우에 사용된다.
  • autocomplete : 자동완성 기능으로 폼이 전송될 때마다 입력한 값을 웹 브라우저에 저장해 두고, 나중에 인풋값을 입력할때
    자동으로 추천해 준다.
    사용법 링크

3-2. 인풋 태그 종류

1. 텍스트 
: 문자를 입력 받을 수 있다.  (기본값 이기는 하나  type="text" 지정해 주자!)
 

 <input type="text">

2.  비밀번호
: 입력내용을 가려야할때 사용

<input type="password">

3. 데이트 : 날짜를 선택하여 입력 받을 수 있다.

<input type="date">

4. 파일
:  업로드할 파일을 입력 받을 수 있다.
   - accept 속성으로 허용할 확장자를 지정할 수 있다. 
   - multiple 속성이 추가 되면 여러개의 파일을 선택하도록 할 수 있다.

<input type="file"  accept=".png,.jpg" multiple >

5. 이메일
: 입력 받은 텍스트가 이메일 형식( abc@mail.com) 인지 자동으로 검사해 준다.

<input type="email">

6. 숫자
: 숫자만 입력 받을 수 있다.
  - 최소 최대값을 지정할 수 있다. (min,  max)
  - 증가,감소 할 양을 정할 수 있다. (step)

<input type="number">

<input type="number" min="100" max="1000" step="10">

 
7.라디오
: 동그란 버튼 모양. 같은 name을 속성 가진 항목 중에서 하나만 선택 할 수 있다.

<label><input type="radio" name="gender" value="man">남</label>
<label><input type="radio" name="gender" value="women">여</label>

8. 체크박스
: 네모난 버튼 모양. 여러개를 선택할 수 있다.

<label><input type="checkbox" value="apple">사과</label>
<label><input type="checkbox" value="banana">바나나</label>
<label><input type="checkbox" value="peach">복숭아</label>

8. 범위
: 정해둔 범위 안에서 선택할 수 있다.
   - value 값을 사용 하면 초깃값을 넣어 둘 수 있다.
   - value 값이 없을 경우 중간값이 기본으로 표현되다.

<input type="range" min="1" max="10">

나는 예쁜 편이다.

<input type="range" min="1" max="10" value="10" >

9. 컬러 : 컬러파렛트를 사용해 컬러를 입력 받을 수 있다.

<input type="color">

10. 옵션 선택 (드롭다운)
: 선택할 수 있는 드롭다운 리스트를 제공한다.
  - 기본적으로 모든 옵션이 드롭다운 된다. 
    옵션 리스트가 많을 경우 html의 높이를 넘어가기도 한다.

<select>
   <option value="apple">사과</option>
   <option value="banana">바나나</option>
   <option value="peach">복숭아</option>
</select>

10-1. select의 속성

  • size
    : 처음에 보이는 option의 갯수를 지정할 수 있다.
<select size="3">
   <option value="apple">사과</option>
   <option value="banana">바나나</option>
   <option value="peach">복숭아</option>
   <option value="melon">멜론</option>
   <option value="orange">오렌지</option>
</select>
  •  multiple
    :'shift' 또는 'ctrl'을 누른 상태로 여러개를 선택하게 할 수 있다.
<select multiple="multiple" size="3">
   <option value="apple">사과</option>
   <option value="banana">바나나</option>
   <option value="peach">복숭아</option>
   <option value="melon">멜론</option>
   <option value="orange">오렌지</option>
</select>

10-2. 옵션 그룹
: 옵션을 카테고리로 설정할 수 있다. selected 속성으로 기본선택 요소를 둘 수 있다.

<select size="3">
  <optgroup label="과일">
  <option value="apple" selected>사과</option>
  <option value="banana">바나나</option>
  <option value="peach">복숭아</option>
  <option value="melon">멜론</option>
  <option value="orange">오렌지</option>
  <optgroup label="채소">
  <option value="onion">양파</tion>
  <option value="carrot">당근</ption>
  <option value="pumpink">호박<option>
</optgroup>
</select>

11. 긴글 입력
: 인풋보다 긴글을 입력받을 수 있는 폼을 제공한다. 닫힘 태그를 사용한다. 
  - 너비를 지정하는 cols 의 기본값은 20이며, 평균 문자 너비를 양의 정수로 지정한 값이다.
    여기서 평균 문자 너비는 영문을 기준으로 하여, 한글은 10자에서 줄바꿈이 된다. 
  - rows늘 줄수를 나타내며 기본값은 2이다, 지정한 갯수가 넘어가면 세로 스크롤이 표시된다. 
  - minlength와  maxlength로 최소 입력 글자수와 최대입력 글자수를 지정할 수 있다.
 - div 태그로 감싸 너비와 높이를 100% 로 맞춰 박스크기를 설정할 수 있다. 
   이 경우  cols, fows는 사용하지 않는다.   
 - 입력되는 폰트 스타일을 지정할 수 없다.

<textarea cols="50" rows="10" minlength="0" maxlength="500" placeholder="최대 500자 입력"></textarea>

12. 검색
: 검색이 필요한 텍스트를 입력 받음을 명시적으로 제공해줌

<input type="search">

참고: HTML <input>

4. button 태그

: <button type="button">버튼</button> 형식으로 사용한다.

속성 설명
submit -기본속성은 "submit"이다.
 그러므로 속성값 생략시 제출해야 할 폼이 없는 경우도 "submit" 일어나기 때문에 속성 지정을 하는 것 추천
 reset 제출폼의 입력을 초기화 한다.
button 아무 동작도 하지 않는다. 
자바스크립트를 사용해 클릭시 이벤트를 컨트롤할때 사용한다.

 이외 속성 참고: HTML <button> 태그

728x90

'공부 메모 > html5' 카테고리의 다른 글

메타 태그  (1) 2025.06.13
html 다운로드 버튼 만들기  (0) 2021.08.29

+ Recent posts