
- 은 사용자에게 정보를 입력할 수 있는 공간, 방법을 제공하고 입력된 정보를 서버로 전송하는 형식이자 도구
- 사용자가 입력하는 데이터의 종류, 내용이 올바르게 입력할 수 있도록 UI를 잘 구성하고 유효한 입력값만 전송되도록 자바스ㅡ립트로 제어할 수 있어야
입력 제어 속성
- required : 필수 입력 또는 선택 사항으로 강제
- readonly: 읽기 전용
- disabled: 비활성 입력 요소
<input type="text" /> 내부에서 이전엔 required='required', disalbed='disabled' 같이
속성과 속성값을 동어 반복으로 표현한 경우가 있었는데 이것은 이전 HTML버전인 XHTML의 형식이 남아있기 때문
XHTML은 HTML에 XML문법을 도입해 엄격한 형식으로 웹 문서 오류를 줄이고 확장성, 유연성을 향상시키기
위해 HTML4.01에 적용된 과도기적 사양
HTML5가 만들어지면서 위와같이 쓰지 않아도 되게 됨, 사용해도 무방
XML : eXtensible Markup Language
-> 데이터 교환 표준으로 데이터 저장, 전송을 위해 디자인된 언어
XML 문법
- 열기 태그가 있으면 반드시 닫기 태그가 있을 것
- 요소명과 속성명은 소문자여야 할 것
- 속성 값은 반드시 ""로 묶을 것
- pattern : 전화번호, 우편번호 등 입력 타입 형식이 정해진 입력값의 패턴을 강제 (정규표현식 사용)
<input type="text" pattern="[0-9]{5}" />
입력 요소 이벤트
- 이벤트 트리거를 통해 발생한 이벤트 감지 시 원하는 동작을 시킬 수 있음
var slider = document.querySelector('input[name="range"]')
var rangeValue = document.querySelector('input[name="rangeValue"]')
var img = document.querySelector('img')
rangeValue.value = slider.value;
slider.oninput = function() {
rangeValue.value = this.value;
img.styles.transform = `rotate(${this.value}deg)`
}
<form action="server.html" onsubmit="validateForm(event)">
...
</form>
function validateForm(e){
e.preventDefault()
}