<form> 태그
- 웹페이지에 제출하는 용도인 폼 형식을 만드는 가장 기본적인 태그
- <form>내의 정보는 웹 서버로 전달되어 작업을 처리
<form [속성="속성 값"]>여러 폼...</form>
<form> 태그에 사용하는 속성들
1. method
- 사용자가 입력한 내용을 서버쪽 프로그램에 넘기기 위해 방법을 지정하는 속성
- get - 256~4096 Byte 제한으로 서버에 넘길 수 있으며, 주소 표시줄에 입력한 내용이 그대로 드러남
- post - 입력 내용 길이에 제한 받지 않으며, 입력한 내용도 드러나지 않음
<form method="post">...</form>
2. name
- 자바스크립트로 폼을 제어할 때, 사용할 폼의 이름 지정
<form method="post" name="test">...</form>
3. action
- form 태그 안의 내용을 처리할 서버 프로그램 지정
<form action="test.jsp>...</form>
4. target
- action 속성에서 지정한 스크립트 파일을 현재 창이 아니라, 다른 위치에서 열게하는 속성
<form action="test.jsp target="_blank">...</form>
- blank 속성은 이미 열려있는 탭에서 페이지 전환이 되는 것이므로 헷갈리지 않기
- _blank가 새 탭에서 여는 옵션!!
5. autocomplete
- 자동완성 기능으로, 사용자가 예전에 입력했던 내용을 기억하여 비슷한 내용이 있을 때 화면을 띄워줌
<form name="test" autocomplete="off">...</form>
- 기본 속성 값은 on 이므로, 꺼줄 때 사용하면 되겠다.
폼 요소에 사용하는 태그들
1. <fieldset>
- 하나의 폼 안에서 여러 구역을 나누어 표시할 때 사용
- 예를 들어 쇼핑몰에서 개인 정보 및 배송 정보를 fieldset으로 나눠 표시하면, 깔끔하게 화면 정리가 가능
<fieldset [속성="속성 값"]>...내용<fieldset>
2. <legend>
- fieldset으로 묶은 그룹에 대해, 제목을 지을 수 있는 태그
<fieldset>
<legend>그룹 이름</legend>
</fieldset>
3. <label>
- input 태그와 같은 폼 요소에 레이블(라벨)을 붙일 때 사용
- 이때 라벨은, 입력칸에 붙여놓은 제목 텍스트 같은 것 (아래 사진과 같이)
- 이름 / 생년월일 / 은행 / 계좌번호 등이 label 태그
추가 - for - id 속성을 이용하여 따로쓴 input 태그(폼 요소) 와 라벨 연결하기
<label for="test">아이디</label>
<input type="text" id="test">
- for - id를 맞춰 줌으로써, 연결 가능
<input> 태그
- 아이디 입력이나, 로그인 버튼 등 사용자가 직접 입력해야하는 부분에 사용하는 태그
- 웹 폼의 다양한 곳에서 사용
<input> 태그의 type 속성
- type 속성을 통해 입력 형태를 다양하게 생성 가능
종류 | 설명 |
text | 한 줄 짜리 텍스트를 입력하는 박스 |
password | 비밀번호 입력 |
search | 검색할 때 입력하는 필드 |
url | url 주소 입력 필드 |
email 입력 필드 | |
tel | 전화번호 입력 필드 |
checkbox | 다중 선택을 사용할 때 넣는 속성 |
radio | 단일 선택을 사용할 때 넣는 속성 |
number | 숫자를 조절할 수 있는 스핀 박스 |
range | 숫자를 조절할 수 있는 슬라이드 박스 |
date | 사용자 지역 기준의 날짜 삽입(연, 월, 일) |
month | 사용자 지역 기준의 날짜 삽입(연, 월) |
week | 사용자 지역 기준의 날짜 삽입(연, 주) |
time | 사용자 지역 기준의 시간을 삽입(시, 분, 초, 분할 초) |
datetime | 국제 표준시(UTC)로 설정된 날짜와 시간을 삽입(연, 월, 일, 시, 분, 분할 초) |
datetime-local | 사용자 지역 기준의 날짜와 시간을 삽입(연, 월, 일, 시, 분, 분할 초) |
submit | 전송 버튼 삽입 |
reset | 리셋 버튼 삽입 |
image | 전송 버튼 대신 사용할 이미지 삽입 |
button | 일반 버튼 삽입 |
file | 파일을 첨부할 수 있는 버튼 삽입 |
hidden | 사용자에게는 보이지 않으나, 서버로 넘겨주는 값이 있는 필드 생성 |
1. text, password
- 폼에서 가장 많이 사용하는 속성
- password 속성은 텍스트를 * 나 ● 으로 변환해서 보여줌
- text와 password에서 주로 사용하는 속성은 다음과 같음
종류 | 설명 |
size | 텍스트와 비밀번호의 길이 지정(화면에 몇글자나 보이게 할 것인가) 예시로, 5를 설정한다면 10글자 입력 시 5글자만 보이고, 5글자는 화면에는 표시가 되지 않음 |
value | 텍스트 필드 요소가 화면에 표시될 때 텍스트 필드 부분에 보여주는 내용, 사용하지 않으면 빈칸이 표시 password 필드에서는 사용하지 않음 |
maxlength | 최대 문자 수를 지정 |
2. search, url, email, tel
- 텍스트 필드를 더 세분해야 될 때, 주로 사용하는 속성들
- JavaScript의 확인 없이, 웹 브라우저가 알아서 확인한 다음, 유효성을 검사함
3. checkbox, radio
- 다중 선택이냐, 단일 선택이냐에 따라 알맞게 사용하면 됨
- 사용할 수 있는 속성은 다음과 같음
종류 | 설명 |
value | 체크 박스나 라디오 버튼을 서버에게 알려줄 때, 넘겨줄 값 지정, 영문(한글)이거나 숫자여야함, 필수 속성 |
checked | 초기에 미선택일 경우, 기본으로 선택해 놓을 항목에 적용하는 속성 |
<label><input type="checkbox" value="...">1번></label>
<label><input type="checkbox" value="..." checked>2번></label>
<label><input type="checkbox" value="...">3번></label>
4. number, range
- 텍스트 필드에 숫자를 입력하기 위해 사용하는 속성들
- range 속성은 입력이 아닌 슬라이드로 조정할 수 있음 (위 아래)
- 사용할 수 있는 속성은 다음과 같음
종류 | 설명 |
min | 필드 입력 최솟값 지정, 기본 값 0 |
max | 필드 입력 최댓값 지정, 기본 값 100 |
step | 숫자 간격을 지정, 기본 값 1 |
value | 필드에 표시할 초기값 |
5. date, month, week
- 달력을 넣을 때 주로 사용하며, 무슨 형식으로 보여줄 것인가에 따라 사용
- 기본적인 달력은 date 속성을 이용하면 됨
6. time, datetime, datetime-local
- 시간 지정에 사용,
- time은 시간만 지정, datetime, datetime-local은 날짜와 시간을 함께 표시
- 범위는 number, range제한한 것과 같이 min, max, step 등으로 제어가 가능
7. submit, reset
- submit을 통해 폼에 입력한 정보를 서버로 전송할 수 있음
- reset을 통해 입력한 폼을 초기화할 수 있음
<input type="submit" value="제출하기"/>
<input type="reset" value="초기화하기"/>
8. image
- submit과 같은 기능을 하는 이미지 버튼을 나타냄
- 경로를 지정하면 이미지가 표시되며, 이 때 submit과 같은 동작을 수행
9. button
- 기본 버튼의 역할을 수행, submit과 reset과 같은 기능은 없음
- onclick 이벤트를 통해 JavaScript함수나 파일을 삽입하여 동작 가능
<input type="button" value="..." onclick="window.open('연결 주소,파일')>
10. file
- 파일 첨부시 사용하는 속성
- 파일 선택이라는 버튼이 생성되며, 클릭시 파일 첨부가 가능
- 이미지를 보이게하기 위해선 다른 type 속성들을 이용하면 된다
11. hidden
- 히든 필드 생성에 사용
- 화면의 폼에 보이지 않으나, 사용자가 입력 완료시 폼과 함께 서버로 전송됨
- 쇼핑몰에서 사용자의 현재 포인트 등...
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>html 연습하기</title>
</head>
<body>
<h1>히든히든</h1>
<input type="text" value="이건 보일거고">
<input type="hidden" value="이건 안보일거고">
</body>
</html>
- 화면 상에서는 보이지 않는 것을 확인
- 그러나 개발자 모드로 들어가면, hidden 항목이 보이는 것을 확인할 수 있음
<input> 태그의 주요 속성
1. autofocus
- 자동으로 입력 커서를 갖다 놓는 속성
- 화면에 들어가자마자 input에 커서가 있어 바로 입력이 가능함
2. placeholder
- 입력에 힌트를 주는 속성으로, 값이 입력되지 않았을 때 사용자에게 보여줄 말을 희미하게 표시해주는 속성
- 아이디를 입력하세요, 비밀번호를 입력하세요 등이 대표적이고, 값 입력시 사라짐
3. readonly
- 읽기 전용 필드로 만들어주는 속성
- 사용자는 값 입력을 하지 못함
4. required
- 필수 입력 필드를 지정할 때 사용
- 사용자는 이 부분을 입력하지 않으면 폼 제출을 할 수 없음
<form> 에서 사용하는 여러가지 태그
1. <textarea>
- 텍스트 필드와 다르게 여러줄을 입력할 수 있는 필드를 생성
- 사용자 약관 등 긴 문장을 사용자에게 보여줄 때 사용
<textarea cols="40" rows="6"></textarea>
- cols, rows 속성을 통해 열, 행의 크기를 정할 수 있음
2. <select>, <option>
- 드롭 다운 목록을 생성
- 사용자가 직접 내용을 입력하는 것이 아닌, 홈페이지에서 정해준 여러 옵션중에서 하나 선택
- select 태그로 드롭다운의 시작과 끝을, 그 안에 option을 추가하여 내용을 표시
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>html 연습하기</title>
</head>
<body>
<h1>드롭다운</h1>
<select>
<option value="값1">내용 1</option>
<option value="값2">내용 2</option>
<option value="값3">내용 3</option>
<option value="값4">내용 4</option>
<option value="값5">내용 5</option>
</select>
</body>
</html>
<select> 태그의 속성
종류 | 설명 |
size | 화면에 표시할 드롭다운 항목 개수 지정 |
multiple | 드롭다운 목록에서 둘 이상의 항목을 선택할 때 사용 |
<option> 태그의 속성
종류 | 설명 |
value | 서버에 넘겨줄 값을 지정 |
selected | 드롭다운 메뉴 삽입시, 기본적으로 선택할 옵션을 지정 |
3. <datalist>, <option>
- 데이터 목록을 만들 때 사용하는 태그
- datalist를 사용해 시작과 끝을, option을 사용해 값을 넣어줌
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>html 연습하기</title>
</head>
<body>
<h1>데이터 리스트</h1>
<select>
<option value="값1">사용</option>
<option value="값2">사용 안함</option>
</select>
</body>
</html>
4. <button>
- 버튼을 생성할때 사용하는 태그
- type을 submit, reset, button 중 결정할 수 있으며, 미선택시 submit 적용
- 각각 input type에서 submit, reset, button 역할과 똑같음
- CSS를 활용해 원하는 형태로 꾸미기가 가능하기 때문에, 디자인 작업이 필요할 때 사용하면 됨
'HTML, CSS, JavaScript' 카테고리의 다른 글
[CSS] 텍스트 관련 스타일 (1) | 2025.01.20 |
---|---|
[CSS] CSS - 글꼴 설정하기 (1) | 2025.01.16 |
[CSS] CSS의 기본 (0) | 2025.01.14 |
[HTML] HTML의 기초 구성 - 기본 구조 및 내용 입력 태그 (1) | 2025.01.07 |