[테이블]
Document
| 이름 |
주소 |
성별 |
| 박영희 |
성남시 |
여자 |
| 김철수 |
서울시 |
남자 |
| 홍길동 |
부산시 |
남자 |
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
table {
border-collapse: collapse;
}
td, th {
border: 1px solid gray;
text-align: center;
padding: 7px;
}
th {
background: lightgray;
}
</style>
</head>
<body>
<table>
<tbody>
<tr>
<th>이름</th>
<th>주소</th>
<th>성별</th>
</tr>
<tr>
<td>박영희</td>
<td>성남시</td>
<td>여자</td>
</tr>
<tr>
<td>김철수</td>
<td>서울시</td>
<td>남자</td>
</tr>
<tr>
<td>홍길동</td>
<td>부산시</td>
<td>남자</td>
</tr>
</tbody>
</table>
</body>
</html>
- 정의 :
<form>태그는 웹페이지에서 사용자로부터 데이터를 입력받아 처리하거나 서버에 데이터를 전송하는 데 사용
- Attributes : autocomplete="off"(자동완성), novalidate(유효성 검사 X), target, action="url주소입력"(폼이 제출될 때 데이터를 보낼 URL을 지정) 등
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form
action="https://search.naver.com/search.naver"
autocomplete="off"
target="_blank"
novalidate
>
<input type="email" name="query">
<button>확인</button>
</form>
```
- 정의 : HTML에서 사용자로부터 데이터를 입력받기 위한 요소
- 형식 :
<input type=""> (empty tag, inline 요소임)
- Attributes :
(1) type="select(드롭다운 리스트), text, password, email, checkbox(복수선택 체크박스), radio(단일선택 체크박스), number, range(슬라이더), file, tel 등"
버튼, 텍스트박스(textarea), 드롭다운리스트(select) 경우 시멘틱 태그를 위하여 type태그로 처리하지 않고, <button></button>, <textarea></textarea> 사용할 것을 권장
- password : 보안을 위해 데이터가 보이지 않도록 별표나 점으로 표시됨
- email : 유효성 검사 없애려면 input 태그가 아닌 form 태그에 attribute로 설정해야 함
- checkbox(복수선택 체크박스) :
! 체크박스 그룹화(<input type="" name="")>, 체크박스+텍스트 그룹화(<label></label>) 필요
! 체크박스와 체크박스와 연결된 텍스트가 떨어져 있을 경우,
<input id="abc" type="">
<label for="abc"></label>
! 다중항목 선택만 가능. 1항목 선택하려면 radio로 type 변경해야 함.
- radio(단일 선택 체크박스) :
! 라디오 그룹화(<input type="" name="")>, 라디오+텍스트 그룹화(<label></label>) 필요
! 라디오와 라디오와 연결된 텍스트가 떨어져 있을 경우,
<input id="abc" type="">
<label for="abc"></label>
! default 선택 : checked attribute 사용
- number(숫자입력박스) : max="", min="" 등의 attribute가 있음
- range : 슬라이더(조절 바)
- file :
! 다중파일 선택 : multiple
<input type="file" multiple>
! 특정 형식 파일만 받기 : accept="mime형식 혹은 확장자 형식"
<input type="file" multiple accept="image/*, application/pdf">
<input type="file" accept=".pdf, .jpeg">
- tel(전화번호) : required pattern="[0-9]{3}-[0-9]{4}-[0-9]{4}"
(2) textarea : rows, cols(텍스트 영역 너비. columns의 약자) 등의 attribute가 있음 텍스트 박스.
(3) select(드롭다운 리스트) : selected(기본값), disabled(무효화) 등의 attrbute 사용 가능. <select><option><option></select>
(4) button: attribute로 type="button/submit/reset"이 있음
! type="button(폼 제출 없음. javascript로 동작 정의)/submit(default 값. 폼 제출)/reset(폼 초기화페이지 입력 값 초기화)
(5) placeholder : 사용자가 입력할 내용을 안내하는 힌트 텍스트. 서버로 전송되는 데이터에 포함되지 않음 (회색 글자)
(6) value="" : 입력 필드의 초기값. 서버로 데이터 전송됨
(7) disabled : 입력 필드 비활성화(입력창 회색으로 변함)
(8) required : 필수 입력 값
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="#">
<p>input type="text"</p>
<input type="text" placeholder="이름을 입력하세요." disabled>
<br>
<br>
<p>input type="password"</p>
<input type="password" required>
<br>
<br>
p>input type="email"</p>
<input type="email" value="abc">
<br>
<br>
<p>input type="checkbox"</p>
취미:
<label>
<input type="checkbox" name="hobby"> 운동
</label>
<label>
<input type="checkbox" name="hobby" checked> 명상
</label>
<label for="id"></label>
<input id="breathe" type="checkbox" name="hobby">
<br>
<br>
<p>input type : radio</p>
<label>
<input type="radio" name="" checked> 아니용
</label>
약관 동의:
<label><input type="radio" name="agree" checked> 예</label>
<label><input type="radio" name="agree"> 아니오</label>
<br>
<br>
<p>input type : number</p>
<input type="number" value="0" max="5" min="0">
<br>
<br>
<p>input type : range</p>
<input type="range" value="3" max="5" min="1">
<br>
<p>input type : file</p>
<input type="file" multiple accept="image/*, pdf/*">
<input type="file" multiple accept=".jpeg, .pdf">
<br>
<br>
<p>input type : textarea(텍스트박스)</p>
<textarea rows="5" cols="10"></textarea>
<br>
<br>
<p>드롭다운리스트(select)</p>
<select>
<option>아메리카노</option>
<option disabled>카페라떼</option>
<option selected>카푸치노</option>
</select>
<br> <br>
<p>button</p>
<button type="button">버튼</button>
<button type="submit">전송</button>
<button type="reset">초기화</button>
<input type="button" value="버튼2">
<label for="breathe">숨쉬기</label>
<p>input type : tel(휴대폰 전화번호)</p>
<label for="phone">전화번호:</label>
<input type="tel" id="phone" required pattern="[0-9]{3}-[0-9]{4}-[0-9]{4}"><br><br>
<small>형식: 123-456-7890</small><br><br>
</form>
<br>
</body>
</html>