PDF문서2020-1학기_07주차_form태그 관련(자기주도학습).pdf

닫기

background image

    2020년 1학기           인터넷프로그래밍 (07주차 수업자료 1)                                      박 기 홍

-  1  -

※ HTML5  +  CSS3

① 폼 (form)  태그

    -  회원가입,  상품구매,  키워드 검색 등 사용자로부터 정보를 받을 때

    -  사용자와 애플리케이션의 상호작용

    -  즉,  사용자가 입력하는 정보를 하나로 묶어서 애플리케이션에 전달할 수 있도록 다양한 입력양

식을 그룹핑(grouping)하고 전송방법을 설정함.

<form  name=“이름”  method=“get/post”  action=“애플리케이션 주소”>  </form>

․ method  속성:  데이터들이 전송되는 방식을 지정
․ action  속성:  데이터를 처리할 애플리케이션 프로그램 주소(URL)
․ name  속성:  폼 요소에 대한 이름을 지정

get  방식

post  방식

-  전송할 데이터를 URL  주소에 포함하여 문자열 형태로 

전달

-  URL뒤에 ‘?’에 이이서 “변수명=값”
-  변수가 여러개일 경우 &로 구분
-  한글은 16비트 유니코드로 표현
-  get  방식은 간단한 데이터를 전달할 때 용이
-  주소창에 전달하는 값이 노출되어 보안에 취약

-  프로그램의 입출력 방식을 사용하여 

데이터의 양에 제한이 없음.

-  전송하는 데이터가 드러나지 

않으므로 보안이 필용한 경우 많이 
사용함.

… /application.js?person=%C8%AB%B1%E6%B5%BF&sex=
male&job= 


background image

    2020년 1학기           인터넷프로그래밍 (07주차 수업자료 1)                                      박 기 홍

-  2  -

② 입력 (input)  태그

    -  <form>  태그 안에 <input>,  <textarea>,  <select>,  <button>  등 태그

태그

속성

내용

<input>

name

☞ 입력 요소의 이름

value

☞ 입력 요소의 값

type

☞ 입력 폼의 유형을 결정

<input  type="입력 형식"  name="변수명",  value="입력 값">

type=text

☞ 문자열 입력 필드

type=password

☞ 암호 문자열

type=radio

☞ 단일 선택

type=checkbox

☞ 복수 선택

type=submit

☞ 전송 버튼

type=reset

☞ 초기화 버튼

type=button

☞ 임의 기능 버튼

type=image

☞ 이미지를 전송 버튼으로 정의

type=file

☞ 파일 선택

type=hidden

☞ 숨길 필드

<textarea>  </textarea>

name

☞ <textarea>  요소의 이름을 지정

cols

☞ 한 줄에 해당하는 문자수

rows

☞ 텍스트 영역의 행의 개수

<textarea    name="이름"    cols="열의 수"    rows="행의 수">
      
텍스트 영역에 표시되는 초기 문장
</textarea>

<select>  </select>

 

name

☞ 선택목록의 변수명

size

☞ 사용자들에게 보여줄 항목의 개수

multiple

☞ 하나 이상의 항목을 선택 가능

  <option>  </option>

value

☞ 각 항목을 구별하기 위한 값

selected

☞ 초기 화면에서 기본 값으로 지정

<select  name="job"  size="1"  >
        <option  value="student"  selected>
학생</option>
        <option  value="company">
회사원</option>
        <option  value="teacher">
교사</option>
        <option  value="sales">
자영업</option>   
        <option  value="others">
기타</option>
</select>


background image

    2020년 1학기           인터넷프로그래밍 (07주차 수업자료 1)                                      박 기 홍

-  3  -

-  예시

내용

예시

문자열 입력 필드

<input  type="text"  name="변수명"  value="초기값"/>

암호 입력 필드

<input  type="password"  name="변수명"/>

라디오 버튼

<input  type="radio"  name="변수명"  value="선택값"/>

체크박스 선택

<input  type="checkbox"  name="변수명"  value="선택값"/>

전송 버튼

<input    type="submit"    value="버튼라벨"/>

초기화 버튼

<input    type="reset"    value="버튼라벨"/>

일반 버튼

<input    type="button"    value="버튼라벨"/>

이미지 버튼

<input    type="image"  src="이미지 파일"    alt="문자열"/>

파일 선택하기

<input  type="file"  name=“myfile”/>

데이터 숨김

<input  type="hidden"  name="변수명"  value="/>

※ <form>,  <input>  태그 등 알아보기.  아래 코드를 작성 후 실행해 보자.


background image

    2020년 1학기           인터넷프로그래밍 (07주차 수업자료 1)                                      박 기 홍

-  4  -


background image

    2020년 1학기           인터넷프로그래밍 (07주차 수업자료 1)                                      박 기 홍

-  5  -

-  입력 필드의 그룹핑

태그

속성

내용

<fieldset>  </fieldset>

name

☞ 그룹 이름 지정

form

☞ 폼과 연결

disabled

☞ 그룹 내의 모든 하위 입력요소들을 비활성화

<legend>  </legend>

☞ 그룹을 구분하기 위한 제목 레벨
☞ 그룹 라벨의 스타일은 그룹을 구분하는 선의 중간에 걸쳐서 표시

※ <fieldset>,  <legend>  태그 등 알아보기.  아래 코드를 작성 후 실행해 보자.


background image

    2020년 1학기           인터넷프로그래밍 (07주차 수업자료 1)                                      박 기 홍

-  6  -

③ 고급형식으로 입력하기

    -  서식이 있는 텍스트 입력

-  날짜와 시간 입력

-  색상 및 숫자 입력

-  고급 입력 요소

※ <input>  태그에 추가된 새로운 속성

    - 

autocomplete  속성:  자동으로 사용자의 입력을 완성

    - 

placeholder  속성:  입력 값에 대한 설명을 희미하게 표시

    - 

required  속성:  사용자가 필수적으로 입력을 하도록 검증

    - 

autofocus  속성:  문서가 로드될 때 입력 영역에 마우스 커서를 표시

    - 

step  속성:  입력필드나 숫자나 범위를 조절하는 단계를 지정

※ <input>  태그 이외에 추가된 입력 태그

    - 

<output>  :  폼의 처리 결과

    - 

<datalist>  :  입력 양식에 대한 내용을 옵션 리스트로 제공

    - 

<keygen>  :  암호화 키를 생성

 

   

 

pattern=”[A-Za-z]  {no  }”  :  no개 만큼의 영문자를 입력

pattern=”[0-9]  {no  }”  :  no개 만큼의 숫자를 입력

pattern=”[A-Za-z0-9]  {min,  max  }”  :  영문자와 숫자를 min~max  만큼의 글자 수 입력

pattern=”[0-9]+”  :  숫자를 1개 이상 입력

태그

구분

속성

내용

<input>

텍스트 

관련

type=email

☞ 이메일 주소

type=URL

☞ URL  주소

type=tel

☞ 전화번호

type=search

☞ 검색창 입력

날짜와 

시간

type=date

☞ 날짜

type=month

☞ 연도/월

type=week

☞ 연도/주

type=time

☞ 시간

type=datetime

☞ UTC  time  zone  날짜/시간

type=datetime-local

☞ Time  zone이 없는 날짜/시간

색상 및 

숫자

type=number

☞ 숫자

type=range

☞ 일정 범위의 수

type=color

☞ 색상 선택


background image

    2020년 1학기           인터넷프로그래밍 (07주차 수업자료 1)                                      박 기 홍

-  7  -

※ 아래 코드를 작성 후 실행해 보자.


background image

    2020년 1학기           인터넷프로그래밍 (07주차 수업자료 1)                                      박 기 홍

-  8  -

※ 날짜와 시간 입력

<input  type=“date”>

<input  type=“month”>

<input  type=“week”>

※ 아래 코드를 작성 후 실행해 보자.


background image

    2020년 1학기           인터넷프로그래밍 (07주차 수업자료 1)                                      박 기 홍

-  9  -

※ 색상 입력

    - 

<input  type=“color”/>

    -  크롬 브라우저:  색상 입력 양식을 클릭하면 전체 색상을 보여주는 시스템 색상메뉴

※ 숫자 입력

    - 

<input  type=“number”  min=“0”  max=“100”  step=“10”  value=“20”/>

    -  화살표 버튼으로 숫자를 조절할 수 있는 입력 형식

※ 범위 입력

    - 

0.1mm  <input  type=“range”  min=1  max=5  value=3/>  0.5mm

    -  스크롤바를 움직여서 일정한 범위의 숫자를 입력

※ 고급 입력

    -  검색어 자동완성 및 제시어 기능

참가국 :  <input  type="text"  size="12"  list="country"  />

<datalist  id="country">

        <option  value="스페인"/>

        <option  value="영국"/>

        <option  value="독일"/>

</datalist>

※ 자동 계산 출력

    -  입력된 데이터로부터 계산된 결과 표현,  폼의 출력을 위한 요소

금액 :  <input  type="number"  name="price"  min="0"  step="100"  value="0"  />  원 X     

<input  type="number"  name="num"  min="0"  step="1"  value="0"  />  권 

<output  onForminput="value=price.valueAsNumber*num.valueAsNumber+''"/> 

     

※ 암호화 키 생성

    -  서버와 통신할 때의 보안을 위해 암호화 키 생성(공개키 기반 암호화 방식)

    -  폼이 제출되면 공개키와 개인키가 생성(공개키는 서버로 전송,  개인키는 브라우저에서 키 보관)

     


background image

    2020년 1학기           인터넷프로그래밍 (07주차 수업자료 1)                                      박 기 홍

-  10  -

※ 아래 코드를 작성 후 실행해 보자.  (색상 선택)

※ 아래 코드를 작성 후 실행해 보자.