- 입력 양식(폼): 특정 항목에 사용자가 뭔가를 입력할 수 있게 만든 것으로 '폼'이라고도 한다. ex)로그인 창, 검색 창
기본이 되는 제목과 본문, 단락과 줄바꿈 등의 태그 알아보기
웹에서 만나는 폼
하나의 웹페이지 안에서도 아이디와 비밀번호를 입력하거나 로그인 버튼, 회원 가입 등 사용자가 웹 사이트로 정보를 보낼수 있는 요소는 모두 폼이라고 할 수 있다.
<form>
폼을 만드는 </form>
<form [속성="속성값"]>여러 폼 요소</form>
<form>
태그는 속성을 사용해서 입력받은 자료를 어떤 방식으로 서버로 넘길 것인지, 서버에서 어떤 프로그램을 이용해 처리할 것인지를 지정한다.
♦︎ method: 사용자가 입력한 내용을 서버 쪽 프로그램으로 어떻게 넘겨줄 것인지를 지정한다.
method에서 사용할 수 있는 속성값은 get과 post가 있다.
♢ get: 데이터를 256~4,096byte까지만 서버로 넘길 수 있다. 주소 표시줄에 사용자가 입력한 내용이 그대로 드러나는 단점이 있다.
♢ post: 입력한 내용의 길이에 제한받지 않고 사용자가 입력한 내용도 드러나지 않는다.
♦︎ name: 자바스크립트로 폼을 제어할 때 사용할 폼의 이름을 지정한다.
♦︎ action:
<form>
태그 안의 내용을 처리해 줄 서버 프로그램을 지정한다.♦︎ target: action 속성에서 지정한 스크립트 파일을 현재 창이 아닌 다른 위치에서 열도록 한다.
<form action="" autocomplete="off">
</form>
<fieldset>
폼 요소를 그룹으로 묶는 </fieldset>
<fieldset>
태그를 사용한다.<fieldset [속성="속성값"]> </fieldset>
<legend>
fieldset 태그로 묶은 그룹에 제목을 붙이는</legend>
<fieldset>
태그를 사용한다.<fieldset>
<legend> 그룹 이름 </legend>
</fieldset>
<label>
폼 요소에 레이블을 붙이는</label>
<label>
태그는 <input>
태그와 같은 폼 요소에 레이블을 붙일 때 사용한다.<label>
태그를 사용하면 폼 요소와 레이블 텍스트가 서로 연결되었다는 것을 웹 브라우저가 알 수 있다.ex. 아이디라는 텍스트와 입력란을 묶어 본다.
<label> 아이디 <input type="text"></label> //태그 안에 폼 요소를 넣는 것.
ex.label태그와 폼 요소를 따로 사용하고 label태그의 for 속성과 폼 요소의 id속성을 이용해 서로 연결하는 것.
<label for="id명"> 레이블명 <input id="id명"></label>
아이디나 검색어를 입력하는 검색 상자나 로그인 버튼처럼 사용자가 입력할 부분은 주로 <input>태그를 이용해 넣는다.
☞ <input>
태그의 type 속성 한눈에 살펴보기
♦︎ text: 한 줄짜리 텍스트를 입력할 수 있는 텍스트 박스를 넣는다.
♦︎ password: 비밀번호를 입력할 수 있는 필드를 넣는다.
♦︎ search: 검색할 때 입력하는 필드를 넣는다.
♦︎ url: URL 주소를 입력할 수 있는 필드를 넣는다.
♦︎ email: 이메일 주소를 입력할 수 있는 필드를 넣는다.
♦︎ tel: 전화번호를 입력할 수 있는 필드를 넣는다.
♦︎ checkbox: 주어진 여러 항목에서 2개 이상 선택할 수 있는 체크박스를 넣는다.
♦︎ radio: 주어진 여러 항목에서 1개만 선택할 수 있는 라디오 버튼을 넣는다.
♦︎ number: 숫자를 조절할 수 있는 스핀 박스를 넣는다.
♦︎ range: 숫자를 조절할 수 있는 슬라이드 막대를 넣는다.
♦︎ date: 사용자 지역을 기준으로 날짜(연,월, 일)을 넣는다.
♦︎ month: 사용자 지역을 기준으로 날짜(연,월)을 넣는다.
♦︎ week: 사용자 지역을 기준으로 날짜(연,주)를 넣는다.
♦︎ time: 사용자 지역을 기준으로 시간(시,분,초,분할 초)를 넣는다.
♦︎ datetime: 국제 표준시(UTC)로 설정된 날짜와 시간(연,월,일,시,분,초,분할 초)을 넣는다.
♦︎ datetime-local: 사용자가 있는 지역을 기준으로 날짜와 시간(연,월,일,시,분,초,분할 초)을 넣는다.
♦︎ submit: 전송 버튼을 넣는다.
♦︎ reset: 리셋 버튼을 넣는다.
♦︎ image: submit 버튼 대신 사용할 이미지를 넣는다.
♦︎ button: 일반 버튼을 넣는다.
♦︎ file: 파일을 첨부할 수 있는 버튼을 넣는다.
♦︎ hidden: 사용자에게는 보이지 않지만 서버로 넘겨주는 값이 있는 필드를 만든다.
텍스트와 비밀번호를 나타내는 type="text" 와 type="password"
<input type="text">
<input type="password">
♦︎ size: 텍스트와 비밀번호 필드의 길이를 지정한다. 즉 화면에 몇 글자가 보이도록 할 것인지를 지정한다.
♦︎ value: 텍스트 필드 요소가 화면에 표시될 때 텍스트 필드 부분에 보여주는 내용, 이 속성을 사용하지 않으면 빈 텍스트 필드가 표시된다. 비밀번호 필드에서 사용하지 않는다.
♦︎ maxlength: 텍스트 필드와 비밀번호 필드에 입력할 수 있는 최대 문자 수를 지정한다.
다양한 용도에 맞게 입력하는 type="search", type="url", type="email", type="tel"
체크 박스와 라디오 버튼을 나타내는 type="checkbox", type="radio"
♦︎ value: 선택한 체크 박스나 라디오 버튼을 서버에게 알려 줄 때 넘겨줄 값을 지정한다. 이 값은 영문이거나 숫자여야 하며 필수 속성이다.
♦︎ checked: 체크 박스나 라디오 버튼의 항목은 처음에 아무것도 선택되지 않은 상태로 화면에 표시되는데, 여러 항목 중에서 기본으로 선택해 놓고 싶은 항목에 사용한다. 속성값은 따로 없다.
숫자 입력 필드를 나타내는 type="number", type="range"
♦︎ min: 필드에 입력할 수 있는 최소값을 지정한다. 기본 최소값은 0이다.
♦︎ max: 필드에 입력할 수 있는 최대값을 지정한다. 기본 최대값은 100이다.
♦︎ step: 숫자 간격을 지정할 수 있다. 기본값은 1이다.
♦︎ value: 필드에 표시할 초기값.
날짜 입력을 나타내는 type="date", type="month", type="week"
시간 입력을 나타내는 type="time", type="datetime", type="datetime-local"
전송, 리셋 버튼을 나타내는 type="submit", type="reset"
<form>
태그의 action속성에서 지정한 폼 처리 프로그램에 넘겨진다. 반면에 reset 버튼은 <input>
요소에 입력된 모든 정보를 재설정해서 사용자가 입력한 내용을 모두 지우는 역할을 한다. 그리고 이때 value속성을 사용해서 버튼에 표시할 내용을 지정한다.이미지 버튼을 나타내는 type="image"
<input type="image" src="이미지 경로" alt="대체 텍스트">
기본 버튼을 나타내는 type="button"
<input type="button" value="버튼에 표시할 내용">
파일을 첨부할 때 사용하는 type="file"
<input type="file">
히든 필드 만들 때 사용하는 type="hidden"
<input type="hidden" name="이름" value="서버로 넘길 값">
<input type=텍스트-입력-필드 autofocus required>
힌트를 표시해 주는 placeholder 속성
읽기 전용 필드를 만들어 주는 readonly 속성
<input type=텍스트-입력-필드 readonly>
필수 입력 필드를 지정하는 required 속성
<textarea>
태그는 게시판에서 글을 입력하거나 회원 가입 양식에서 사용자 약관을 표시할 때 자주 사용한다.<textarea> 내용 </textarea>
<textarea>
태그의 속성♦︎ cols: 텍스트 영역의 가로 너비를 문자 단위로 지정한다.
♦︎ rows: 텍스트 영역의 세로 길이를 줄 단위로 지정한다. 지정한 숫자보다 줄 개수가 많아지면 스크롤 막대가 생긴다.
드롭다운 목록을 만들어 주는 <select>
,<option>
태그
<select>
태그로 드롭다운 목록의 시작과 끝을 표시하고, 그 안에 <option>
태그를 사용해 원하는 항목을 추가, <option>
태그에는 value속성을 이용해 서버로 넘겨주는 값을 지정한다.<select>
<option value="값1"> 내용1 </option>
<option value="값2"> 내용2 </option>
.....
</select>
<select>
태그의 속성♦︎ size: 화면에 표시할 드롭다운 항목의 개수를 지정한다.
♦︎ multiple: 드롭다운 목록에서 둘 이상의 항목을 선택할 때 사용한다.
<option>
태그의 속성♦︎ value: 해당 항목을 선택할 때 서버로 넘겨줄 값을 지정한다.
♦︎ selected: 드롭다운 메뉴를 삽입할 때 기본적으로 선택해서 보여 줄 항목을 지정한다.
데이터 목록 만들어 주는 <datalist>
,<option>
태그
<datalist>
태그를 이용해 데이터 목록의 시작과 끝을 표시하고 그 사이에 <option>
태그를 사용해 각 데이터의 옵션을 표시한다. 이때 value 속성을 사용해서 서버로 넘겨줄 값을 지정하는데, 이 값이 텍스트 필드에도 나타난다. 그리고 데이터 목록을 사용할 텍스트 필드에서 어떤 데이터 목록을 연결할지 id값을 지정하면 된다.<input type="text" list="데이터 목록 id">
<datalist id="데이터 목록 id">
<option value="서버로 넘길 값1"> 선택 옵션1 </option>
<option value="서버로 넘길 값2"> 선택 옵션2 </option>
</datalist>
버튼을 만들어 주는 <button>
태그
<button>
태그를 이용하여 폼을 전송하거나 리셋하는 버튼을 삽입할 수 있다.<button type="submit"> 내용 </button>
<button type="reset"> 내용 </button>
<button type="button"> 내용 </button>
<button>
태그의 type 속성♦︎ submit: 폼을 서버로 전송한다.
<input type="submit">
과 같은 기능을 한다.♦︎ reset: 폼에 입력한 내용을 초기화한다.
<input type="reset">
과 같은 기능을 한다.♦︎ button: 버튼 형태만 만들 뿐 자체 기능은 없다.
<input type="button">
과 같은 기능을 한다.
🙂 나의 뇌야. 기억해주렴.ㅋ