반응형

1. form 태그 / input 태그


 

 

1-1. form 태그

 

- 사용자로부터 다양한 형태의 데이터를 입력받기 위한 요소들을 담는 컨테이너

> 입력요소(input, select, textarea 등)는 <form>태그 내에서 사용

> 결과 화면에는 아무것도 표시되지 않음

 

> 기본형태

<form action="URL" method="전송방식">

    ...

</form>

 

속성

값 

설명 

 action

 "URL" 

 

 폼 데이터를 전달받아 처리할 때 페이지의 URL 

 

 method

 "전송방식" 

 

 데이터 전송에 사용하는 HTTP 방식

 - method="get" 또는 method="post" 

 


 

 

GET 방식과 POST 방식의 차이

구분

method="get"

method="post" 

전송 형태

- 기본값(default)

- 폼 데이터가 이름과 값의 형태로 URL에 포함되어 전송

- "URL?name=value&age=value" 

- HTTP Request 헤더 속에 포함시켜 전송

데이터 길이

최대 2048 글자 (4096바이트)

- 제약없음

보안

- 보안이 중요하지 않은 데이터(예: 검색어) 전달에 사용

- '이전페이지' 버튼을 통한 이동 가능

- 양이 많지 않은 데이터 전송에 용이

- 보안이 필요한 로긍니 정보, 회원 정보 등의 전송에 사용

- '이전페이지'를 누르면 데이터를 다시 보내야 한다는 경고가 표시

 

 

 

1-2. input 태그


- 사용자 데이터의 입력을 위한 다양한 입력 타입을 지정.

 

<input type="입력필드 유형" 속성="값">

 

> type 속성의 값에 따라 다양한 형태의 입력 타입을 제공

> 종료태그 없이 사용 가능

> 속성(type 속성의 값에 따라 사용 가능한 속성이 달라짐)

→ width, src, autofocus, name, placeholder, readonly, required, size, type, value 등등 약 30가지 속성이 있다.)

 

> 이전부터 사용한 속성값 (HTML4)

 

type="속성값"

설명 

 text

 - 한 줄짜리 텍스트

 - 데이터를 출력하는 용도로도 사용

 password

 - 비밀번호 

 - 입력한 문자가 ' * ' 과 같은 문자로 표현

 radio

 - 라디오 버튼 (단일선택)

 - 같은 그룹의 라디오 버튼들에 대해서만 배타적 선택

 - name, value, checked

 text와 password의 value는 초기값을 나타내지만, radio와 checkbox는 입력과 관련하여 서버로 전달되는 값을 나타낸다.

 

- radio와 checkbox는 각 그룹핑을 name으로 지정한다.

→ name이 같은 radio끼리는 한 그룹으로 된다.

 checkbox

 - 체크박스 (다중선택)

 - name, value, checked

 hidden  숨겨진 상태로 전송
 file

 업로드를 위한 파일 선택

 - 자신의 시스템이 있는 파일을 선택하는 버튼을 생성

 - 속성

 accept="파일유형" → 선택 가능한 파일의 유형을 지정

 multiple → 하나 이상의 값을 선택할 수 있도록 지정

 

<input type="file" accept="image/*" multiple>

 

 image

 이미지를 제출 버튼으로 지정

 - 이미지를 제출 버튼으로 만들때 사용

 - 속성

 src(필수), width, height, alt

 

<input type="image" src="flower.jpg" width="100" height="100" alt="제출버튼">

 

 submit

 제출 버튼

 - 입력한 데이터를 <form> action 속성에서 지정한 서버의 페이지로 전송하는 버튼

 - value="버튼명" 속성 → 버튼위에 표시되는 이름

 

<form id="frm_id">

  ~~~

</form>

<input type="submit" from="frm_id">

 reset

 입력 초기화 버튼

 - 입력한 내용을 모두 지워서 초기 상태로 만드는 취소 버튼

 - value="버튼명" 속성 → 버튼위에 표시되는 이름

 button

 클릭 가능한 일반 버튼

 - 클릭을 통해 사용자가 지시한 명령을 수행하기 위한 버튼

 - value="버튼명" 속성 → 버튼 위에 표시될 이름

 

* <button> 태그

> 클릭 가능한 버튼을 정의하는 태그

> 버튼 위에 텍스트나 이미지도 표현 가능

 

<button type="button | submit | reset" name="이름">

  버튼 위에 표시될 텍스트나 이미지를 지정

</button>

 

* form 태그 내에서 button 태그를 사용하게 되면 데이터 전송이 제대로 이루어지지 않을수 있다. 때문에 form태그 내에서는 <input type="button"> 을 사용하는것이 옳다.

 

 

 

> HTML5부터 추가된 속성값 (HTML5)

 

type="속성값"

 설명 

 search

 검색어 입력

 > type="text"와 동일한 기능/모양, 단지 입력 대상을 명확히 지정함

 > 입력한 텍스트를 초기화 해주는 'X' 버튼이 input 박스의 오른쪽에 생긴다.

 tel

 전화번호

 > type="text"와 동일한 기능/모양, 단지 입력 대상을 명확히 지정함 

 url

 URL 입력

 > type="text"와 유사한 기능/모양

 > 자동으로 유효성 검사 → 형식에 맞지 않으면 경고 메시지 출력

 email

 이메일 주소

 > type="text"와 유사한 기능/모양

 > 자동으로 유효성 검사 → 형식에 맞지 않으면 경고 메시지 출력

 > multiple속성 → 콤마로 구분된 여러개의 이메일 주소 입력

 number

 특정 범위의 숫자

 > input박스 우측에 스핀버튼(위아래 버튼) 자동생성, 조절가능

 > 속성

 - min="최소값" / max="최대값"

 - step="입력값의 유효간격" (스핀버튼 조절)

 - vaule="초기값"

 range

 특정 범위의 숫자

 > 좌우 레인지형식 자동생성, 조절가능

 > 애매한 숫자나 덜 정확한 숫자를 입력받을때 사용

 > 속성

 - min="최소값" / max="최대값"

 - step="입력값의 유효간격" (좌우버튼 조절)

 - vaule="초기값"

 color

 색상표를 통한 색상 입력

 datepickers  date 

 날짜 → 년, 월, 일 입력

 month

 월 → 년, 월 입력

 week

 주차 → 년, 주차 입력

 time  시간 → 시, 분, 초 입력

 datetime

 날짜와 시간 → UTC 시간대를 기준으로 년, 월, 일, 시간 입력(HTML 표준에서 제외)

 datetime-local

 날짜와 시간 → 지역 시간대를 기준으로 년, 월, 일, 시간 입력


 

> 그밖의 속성

 

속성명

값 

설명 

 name

 "string" 

 form 태그를 통해 서버로 전송하기 위한 구분을 위해 각 form 태그의 이름을 붙여준다.

 autofocus  "속성명"   페이지가 로딩됐을때 해당 태그로 커서이동 
 size  "number"   화면에 보여줄 입력박스의 글자수 
 maxlength  "number"  입력받을수 있는 최대 문자수
 value  "값"  초기값 
 disabled  "속성명"

 비활성화 시켜주기 위한 속성.

 비활성화된 데이터는 서버로 넘어가지 않는다.

 placeholder  "값"   사용자의 입력방식을 유도하기 위한 참조글자

 autocomplate

 "on"

 "off" 

 사용자가 이전에 입력했던 내용을 자동완성 시켜주는 속성

 form 태그 및 input태그 등에 사용 가능

 title

 "텍스트" 

 입력 형식에 대한 툴팁기능 

 required

 "속성명" 

 이 요소에 대해서는 값을 반드시 입력해야 한다고 경고메세지를 표현 

 pattern

 - 이름

 [a-zA-Z]{4, 10}

 → [문자의 종류]{문자의 갯수}

 

 - 전화번호

 0\d{1,2}\-\d{3,4}\=\d{4}

 

 - 주민등록번호

 \d{6}\-[1-4]\d{6}

 

 - 이메일

 ^[a-zA-Z0-9]+@([a-zA-Z0-9_\-\.]+]\.([a-zA-z]{2,5})$

 

 입력값에 대한 유혀성 검사를 위한 정규 표현식을 지정

 - 정규표현식 → 특정한 규칙을 가진 문자열을 표현하는데 사용하는 수식 


 

 

 

2. textarea 태그 / select 태그 / datalist 태그



2-1. <textarea> 태그

 

- 여러 줄에 해당하는 텍스트를 입력받을 떄 사용

> <input type="text"> → 한 줄에 해당하는 짧은 텍스트 입력

 

<textarea rows="숫자값" cols="숫자값">

     텍스트 영역에 표시할 내용(출력용)

</textarea>

 

 

> 주요속성 → name, rows, cols, wrap, readonly

> autofocus, disabled, form, maxlength, placeholder, required 등도 사용 가능

 

주요 속성

값 

설명 

 name

 "이름" 

 텍스트 영역의 이름

 rows  "숫자" 

 텍스트 영역의 높이(라인 수)

 cols 

 "숫자" 

 텍스트 영역의 너비(한 줄에 입력할 수 있는 글자 수)

 wrap

 "soft"

→ (default) 자동으로 줄바꿈이 포함되지 않음

 "hard"

→ 자동으로 줄바꿈이 포함되어 전송(cols 속성 지정이 필요) 

 폼으로 전송될 때 줄바꿈 포함 여부

 readonly

 생략가능, "속성명"

 텍스트 영역을 읽기 전용(내용 출력) 으로만 사용 

 

 

2-2. <select> 태그

- 드롭다운 리스트를 만들때 사용


> <option>태그

 → <select>의 하위 태그로서, 목록에서 각 항목을 정의

 

<select 속성="값">

    <option value="값">항목1</option>

    <option value="값">항목2</option>

    <option value="값">항목3</option>

</select>

 

속성

값 

설명 

 select

 name

 "이름" 

 드롭다운 리스트의 이름을 지정 

 size  "숫자"   한 번에 화면에 보여지는 항목의 개수를 지정 
 multiple   생략 

 여러 항목을 한꺼번에 선택할 수 있도록 지정 

→ ctrl 키나 shift 키를 누른채로 선택 가능

 option   disabled  생략  해당 항목을 비활성화 시킴 
 label  "텍스트"  긴 항목을 짧은 레이블로 value의 우측에 표시
 selected  생략  페이지 로드 시에 초기값으로 선택되는 항목을 지정
 value  "텍스트"  서버로 전달되는 항목의 값을 지정

 label

 "텍스트" 

 option 태그의 우측 참고텍스트 지정 


 

 

2-3. <datalist> 태그

 

- <input type="text">에 대한 옵션 목록을 지정


> 포커스를 받으면 미리 입력한 옵션이 드롭다운 형태로 표시

 

<input type="text" list="datalist_id">

<datalist id="datalist_id">

    <option value="값1" label="항목1">항목1</option>

    <option value="값2" label="항목2">항목2</option>

    <option value="값3" label="항목3">항목3</option>

    <option value="값4" label="항목4">항목4</option>

</datalist>

 

 

 

 

 

속성

값 

설명 

 id

 "input 태그의 list값" 

 datalist에 기술된 항목이 드랍다운 됨 


2-4. <optgroup> 태그

 

- <select>태그 내에서 연관된 항목들을 그룹핑

<select name="subject" size="1">

    <optgroup label="그룹핑네임1(텍스트)">

        <option value="값1">항목1</option>

        <option value="값2">항목2</option>

        <option value="값3">항목3</option>

    </optgroup>

    <optgroup label="그룹핑네임2(텍스트)">

        <option value="값4">항목4</option>

        <option value="값5">항목5</option>

        <option value="값6">항목6</option>

    </optgroup>

</select>

 

 

 

3. fieldset 태그 + legend 태그 / label 태그


 

 

3-1. <fieldset> 태그

 

- 폼에서 사용된 요소들을 그룹핑 → 사각형 테두리 안에 표시

 

- <legend>태그

> <field> 태그 내에서 사용

> 그룹핑되는 요소들에 대한 캡션을 사각형 테두리 선 상에 표시

 

 

3-2. <legend> 태그

 

- <input> 태그에 대한 레이블 정의 → 시각적으로 효과 없음

 

> <lable> 태그 내에 있는 텍스트를 클릭해도 해당하는 <input> 태그의 선택이 가능

 

<form>

 

  <p><label>아이디: <input type="text" name="id" value="HwiDoorumi"></label>

  <p><label>비밀번호: <input type="password" name="pwd"></label></p>

 

  <fieldset>

    <legend>성별</legend>

    

    <label for="male">남자</label>

    <input type="radio" id="male" name="gender" value="male" checked><br/>

   

    <label for="female">여자</label>

    <input type="radio" id="female" name="gender" value="female"><br/>

 

  </fieldset>

 

</form>

반응형

+ Recent posts