HTML5 웹 프로그래밍 입문 4장. 다양한 입력 폼.

Slides:



Advertisements
Similar presentations
1. 브라우저에서 로 관리창으로 접속해서, 서버 인증서를 설치 할 서버를 선택하고 Manage 버튼을 클릭합니다. 2. Security 탭을 선택한 후, 인증서 Trust.
Advertisements

일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
스마트폰 화면에서 안드로이드 마켓을 클릭하여 접속합니다. [그림 1-1] 안드로이드 전용 어플리케이션 설치 방법 1. 굿바이 학교폭력 Mobile App 설치 안드로이드폰 설치 방법 마켓에서 검색 아이콘을 클릭 하여 검색창을 활성화 합니다. 굿바이 학교폭력 어플명을 입력.
임직원 APP 설치 가이드 경영전략처 정보기획 TF 팀. 임직원 App- 운영체제 구분  안드로이드 갤럭시, 갤럭시노트, 갤럭시 S4 [ 삼성전자 ] 옵티머스 [LG 전자 ] 베가 [ 팬텍 모토로이 [ 모토롤라 ]  ios 아이폰 [ 애플.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
© 2013 인피니티북스 All rights reserved CHAPTER 3. HTML 멀티미디어와 입력요소.
농촌인적자원개발센터 홈페이지 회원가입 방법. 회원가입 1. 농촌인적자원개발센터 홈페이지 ( 포탈사이트 ( 구글, 네이버 다음 등 ) 농촌인적자원개발센터 검색 ★ 홈페이지 접속 - 회원가입 버튼 클릭.
XHTML Basic 제 13 장 1. XHTML Basic의 개요 2. XHTML Basic 기본 문법 3. 표 만들기
목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
Chapter06 폼 HTML5 Programming.
안성시립도서관 무선랜 사용자 Mac 확인 및 설정방법
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
파워포인트 2007.
Chapter04 HTML 회원 정보 입력 양식 만들기
제어판 –> 네트워크 및 인터넷 –> 네트워크 및 공유센터 이동 후 화면에서 “새 연결 또는 네트워크 설정” 클릭
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
1) 인터넷주소(강남구보건소)로 접속해주세요.
HTML5 웹 프로그래밍 입문 (개정판) 6장. 다양한 입력 폼.
폼과 관련된 태그들 05.
Excel 일차 강사 : 박영민.
윤 홍 란 다이알로그(대화상자) 윤 홍 란
Chapter04 HTML 회원 정보 입력 양식 만들기
PHP입문 Izayoi 김조흔.
forms 객체 입력상자 체크상자, 라디오 버튼 목록상자
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
제 2 장 WML 시뮬레이터 및 무선인터넷 서버 설치
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
HTML CSS 자바스크립트 무작정 따라하기
HTML 입력양식 - FORM Chapter 3 Part 3
인터넷응용프로그래밍 JavaScript(Intro).
CHAP 13. 방명록 만들기 실습.
게임웹사이트운영 [10] 폼 작성.
Part-02 드림위버 활용 sec-03 폼 및 폼 요소 활용
2015학년도 PHP 기말 레포트 로그인 홈페이지 제작.
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
WZC 무선 연결 방법 (Windows XP Ver.).
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
입력양식 객체.
폼 관련 태그 폼 양식 직접 만들어보기 회원가입 절차 4단계
인터넷응용프로그래밍 JavaScript(Intro).
웹디자인
[그림 1-1] 안드로이드 전용 어플리케이션 설치 방법
※ 인터넷 옵션 조치 방법 ※ ★ 신뢰사이트 등록 (1) ★ 우리들을 신뢰해주세요^^* 방법이 복잡해 보일지 모르지만
※ 편리한 사이버 연수원 사용을 위한 인터넷 최적화 안내 ※
법령안편집기 연결버튼 표시가 안 될 경우 정부입법지원센터( 입안 및 심사안을 진행시
CHAP 21. 전화, SMS, 주소록.
Open4U 공급업체 접속 방법 Open4U 시스템 신규 접속 방법 메인 화면 및 로그인 하기 초기 비밀번호 변경하기
청각장애인용 APP 구성 및 사용법.
연구성과 등록.
Chapter 03 윈도 폼 컨트롤 1.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
메뉴(Menu) 컴퓨터응용 및 실습 I.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
업체등록신청절차 목차 메인화면 메세지별 유형 2-1. 이미 가입된 공급업체
Chapter 10 데이터 검색1.
함수, 모듈.
▶ 에스에스밀크(ss-MILK ) MC사원 사용 순서
9 브라우저 객체 모델.
웹과 모바일 홈페이지의 이해와 제작 그리드 레이아웃_웹폼
JSP Programming with a Workbook
워드프로세서 스프레드시트 문서 관리 인터넷 활용
Microsoft Word 2002 제1장 문자열의 삽입과 변경.
1) 인터넷주소(강남구보건소)로 접속해주세요.
이 프레젠테이션은 PowerPoint의 새로운 기능에 대해 안내하며, 슬라이드 쇼에서 가장 잘 보입니다
eBooks on EBSCOhost 이용매뉴얼
6 객체.
Chapter 11. 문서 인쇄 및 파일 형식.
20 XMLHttpRequest.
장바구니 수강신청 제도 안내 장바구니 수강신청
Presentation transcript:

HTML5 웹 프로그래밍 입문 4장. 다양한 입력 폼

목차 4.1 폼 이해하기 4.2 기본 형식으로 입력하기 4.3 고급 형식으로 입력하기

4.1 폼 이해하기

<form> 요소의 사용 폼 요소의 사용 <form> 요소의 역할 회원가입, 상품구매, 키워드 검색 등 사용자로부터 정보를 받을 때 사용자와 애플리케이션이 상호작용 사용자가 원하는 내용을 입력 => 전송버튼을 통해 데이터를 전송 => 애플리케이션으로 전달 => 작업처리 후에 실행결과를 반환 <form> 요소의 역할 사용자가 입력하는 정보를 하나로 묶어서 애플리케이션에 전달할 수 있도록 다양한 입력 양식을 그룹핑하고 전송방법을 설정 <form> 요소 내 사용자의 정보 입력 양식 <input>, <textarea>, <select>, <button> 등의 입력 요소를 이용

다양한 입력 폼 예제 [예제 4-1] 다양한 입력 폼 예제 (ex401_start.html) – 99쪽

<form> 요소의 주요 속성 HTML 문서에서 <form> 의 역할 <form name=”폼 이름” method=”get/post” action=”애플리케이션 주소”> method 속성 : 데이터들이 전송되는 방식을 지정하 전송 방식의 종류는 get방식과 post방식 action 속성 : 데이터를 처리할 애플리케이션 프로그램의 주소 웹서버 프로그램인 경우에는 URL 주소 name속성 : 폼 요소에 대한 이름을 지정 HTML 문서에서 <form> 의 역할 다양한 <input> 요소 =>입력된 데이터를 => 애플리케이션에 전달 =>그 실행 결과를 받는 것 웹서버 애플리케이션 (ASP, JSP, PHP) GET/POST방식 요청(데이터 전송) 응답(실행결과)

get방식과 post방식 ▶ Get방식 - 전송할 데이터를 URL 주소에 포함하여 문자열 형태로 전달 한글은 16비트 유니코드로 표현 예, … ch04/application.js?person=%C8%AB%B1%E6%B5%BF&sex=male&job= … get 방식은 간단한 데이터를 전달할 때에는 편리 그러나 주소 창에 전달하는 값이 노출되어 보안에 취약 ▶ Post방식 - 프로그램의 입출력 방식을 사용하여 데이터의 양에 제한이 없다 - 전송하는 데이터가 드러나지 않으므로 보안이 필요한 경우에 많이 사용

4.2 기본 형식으로 입력하기 4.2.1 텍스트 입력 4.2.2 선택항목의 입력 4.2.3 버튼 입력 4.2.4 기타 입력 필드 4.2.5 입력 필드의 그룹핑

입력 폼의 형태 기본적인 입력 폼의 형태 <input> 요소의 속성 <form> 요소 안에 <input>, <textarea>, <select>, <button> 등 요소 <input> 요소의 속성 <input type=”입력 형식” name=”변수명”, value=”입력 값”/> name 속성은 입력 요소의 이름 value 속성은 입력 요소의 값 type 속성은 입력 폼의 유형을 결정 텍스트 관련 text (문자열 입력 필드), password (암호 문자열) 선택 관련 radio (단일 선택), checkbox (복수 선택) 버튼 submit (전송 버튼), reset (초기화 버튼), button (임의 기능 버튼), image (이미지를 전송 버튼으로 정의) 기타 file (파일 선택), hidden (숨김 필드)

텍스트 입력 문자열 입력 필드 <input type=”text” name=”변수명” value=”초기값”/> 한 줄의 문자열을 입력 받는 가장 기본적인 입력 형식 name 속성 : 애플리케이션에 전달될 변수명을 지정 value 속성 : 사용자로부터 입력 받은 값을 전달 문자열 입력 창에 초기 문자를 보여주려면 value 속성에 값을 지정  암호 입력 필드 <input type=”password” name=”변수명”/> 비밀번호나 주민등록번호 등 보안이 필요한 문자 입력 사용자 입력 데이터가 남들이 볼 수 없도록 ‘•’ 으로 표시 화면에 표시되는 형식만 다를 뿐 더 이상의 보호 기능은 없다.

텍스트 영역 필드 : <textarea> 요소 여러 줄에 걸치는 텍스트를 입력 name 속성 : <textarea> 요소의 이름을 지정 cols 속성 : 텍스트 영역의 한 줄에 해당하는 문자수, 즉, 열의 개수 rows 속성 : 텍스트 영역의 행의 개수 표시 영역보다 많은 텍스트를 입력하면 스크롤바 텍스트 영역에 초기 문장은 <textarea>와 </textarea> 사이에 기입  <textarea name=”이름” cols=”열의 수” rows=”행의 수”> 텍스트 영역에 표시되는 초기 문장 </textarea>

아이디와 비밀번호, 요청사항 입력 [예제 4-2] 아이디와 비밀번호, 요청사항 입력 (ex402_text.html) – 104쪽

선택항목의 입력 라디오 버튼 <input type=”radio” name=”변수명” value=”선택값”/> 여러 항목 중에서 하나만 선택 name속성과 value속성을 반드시 지정 동일한 그룹의 라디오 버튼은 name속성을 동일하게 즉, name 속성값이 같은 그룹에서 하나만 선택 선택된 라디오 버튼의 value 속성값이 애플리케이션에 전달 checked 속성 : 초기화면에서 미리 선택해 놓도록 설정 예, 회원과 남자를 선택한 경우 “member=yes&sex=male”의 형태로 전달 회원여부: <input type="radio" name="member" value="yes" checked/>회원 <input type="radio" name="member" value="no"/>비회원<br> 성별 : <input type="radio" name="sex" value="male"/>남성 <input type="radio" name="sex" value="female"/>여성

체크박스 선택 <input type=”checkbox” name=”변수명” value=”선택값”/> 여러 항목에 대하여 개별적으로 선택, 여러개 선택 가능 name 속성값은 모두 같은 값, value 값은 고유한 값 checked 속성 : 초기 화면에 기본적으로 체크 체크박스에 표시된 항목의 value 속성값 들이 애플리케이션으로 전송 취미(중복선택) : <input type="checkbox" name="hobby" value="read"/>독서 <input type="checkbox" name="hobby" value="movie" checked/>영화 <input type="checkbox" name="hobby" value="music"/>음악 <input type="checkbox" name="hobby" value="sports"/>스포츠

선택목록에서 선택 : <select> 요소 내에 <option> 항목 여러 개의 목록 중에서 하나를 선택 드롭다운 형태 혹은 스크롤 박스 형태의 선택목록에서 항목을 선택 name 속성 : 선택목록의 변수명 size 속성 : 사용자들에게 보여줄 항목의 개수 size 속성이 1이면 드롭다운 목록, 2 이상이면 스크롤 박스의 크기 multiple 속성 : 하나 이상의 항목을 선택 가능하도록 설정 각 항목은 <select> 요소 내에서 <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> <select size=”4” multiple>

버튼 입력 전송 버튼 초기화 버튼 <input type=”submit” value=”버튼라벨”/> 사용자가 입력한 값을 애플리케이션으로 전달 <form> 요소의 영역 안에 있는 모든 입력 데이터가 <form>의 action 속성에서 지정한 애플리케이션 프로그램으로 전송 value 속성 :버튼에 표시하고 싶은 라벨 지정 초기화 버튼 <input type=”reset” value=”버튼라벨”/> 사용자가 폼에 입력한 데이터 값들은 모두 초기화 value 속성 : 버튼에 표시할 라벨 지정

일반 버튼 이미지 버튼 <input type=”button” value=”버튼라벨”/> 다양한 용도로 사용할 수 있는 버튼 value 속성값 : 버튼에 표시할 라벨 지정 이미지 버튼 <input type=”image” src=”이미지 파일” alt=”문자열”/> 버튼 모양이 맘에 들지 않는 경우 원하는 이미지로 대체 src 속성 : 이미지의 경로 alt 속성 : 이미지에 문제가 있을 때 보여 줄 대체 텍스트

[예제 4-3] 버튼 입력 예제 (ex403_button.html) – 109쪽

기타 입력 필드 파일 선택하기 : <input type=”file”/> 사용자가 폼 입력에서 파일을 선택 초기 화면에는 파일 경로를 보여줄 문자열 필드와 “파일선택” 버튼 버튼을 누르면 파일 선택창 등장, 문자열 필드에 선택된 파일 이름 크롬 브라우저 파이어폭스 브라우저 파일 업로드하기 <br> <input type="file" name="myfile"/>

데이터 숨김 <input type=”hidden” name=”변수명” value=값”/> 사용자가 입력하거나 선택하는 데이터가 아니라 시스템에서 특정 데이터 항목을 입력 받아 처리하고 싶은 경우가 예, 사용자의 아이피 주소나 이미 넘겨받은 데이터를 다시 보여줄 필요가 없을 때 화면에 아무것도 보여주지 않지만, name과 value 속성값을 전달

텍스트 라벨 <label for=”입력아이디”> 텍스트 라벨과 특정 입력 필드를 연결 해당 글자를 보여주는 것 이외에 데이터 전달에는 영향이 없다 for 속성과 이와 연결되는 입력 양식의 id 속성에 동일한 아이디 값 성별: <label for="male">남성</label> <input type="radio" name="sex" id="male" value="male"> <label for="female">여성</label> <input type="radio" name="sex" id="female" value="female">

입력 필드의 그룹핑 그룹핑 : <fieldset> 요소 그룹의 라벨 : <legend> 요소 폼 양식을 그룹핑하는 범위를 지정 사용자의 시각적 편의를 위해서 제공 입력 필드의 그룹 주위에 기본 스타일로 테두리 선 name 속성 : 그룹의 이름을 지정하는 form 속성 : 폼과 연결 disabled 속성 : 그룹 내의 모든 하위 입력 요소들을 비활성화 그룹의 라벨 : <legend> 요소 그룹을 구분하기 위한 제목 라벨 <fieldset> 요소에 포함되는 첫 번째 자식 요소로서 한번만 사용 그룹 라벨의 스타일은 그룹을 구분하는 선의 중간에 걸쳐서 표시

도서 검색 예제 [예제 4-4] 도서 검색 예제 (ex404_group.html) – 113쪽

4.3 고급 형식으로 입력하기 4.3.1 서식이 있는 텍스트 입력 4.3.2 날짜와 시간 입력 4.3.3 색상 및 숫자 입력 4.3.4 고급 입력 요소

<input> 요소에 추가된 입력 형식 text, password, radio, checkbox, button 외에 새로운 양식 <input> 요소에 새로운 속성 autocomplete 속성 : 자동으로 사용자의 입력을 완성 placeholder 속성 : 입력 값에 대한 설명을 희미하게 표시 required 속성 : 사용자가 필수적으로 입력을 하도록 검증 autofocus 속성 : 문서가 로드될 때 입력 영역에 마우스 커서를 표시 step 속성 : 입력 필드의 숫자나 범위를 조절하는 단계를 지정 텍스트 관련 email (이메일 주소), URL (URL 주소), tel (전화번호), search (검색창 입력) 날짜와 시간 date (날짜), month (연도/월), week (연도/주), time (시간), datetime (UTC time zone의 날짜/시간), datetime-local (Time zone이 없는 날짜/시간) 색상 및 숫자 number (숫자), range (일정 범위의 수), color (색상 선택)

추가 입력요소 및 유효성 검사 <input> 요소 이외에 추가된 입력 요소 유효성 검사 <output> 요소 : 폼의 처리 결과 <datalist> 요소 : 입력 양식에 대한 내용을 옵션 리스트로 제공 <keygen> 요소 : 암호화 키를 생성 유효성 검사 입력값이 형식에 맞게 입력되었는지 검사하는 기능 예, 이메일 입력 필드, 필수적으로 입력해야 하는 필드 유효성 검사 대상 <input> 요소, <select> 요소, <textarea> 요소 <button> 요소의 의 경우 submit 형식일 때 required 속성 : 오류 발생시 메시지를 표시하고 폼 전송 중단 novalidate 속성 : 유효성 검사 대상에서 제외

서식이 있는 텍스트 입력 이메일 주소 입력 : <input type=”email”/> 이메일을 입력 받기 위한 입력 창 이메일 주소의 형식이 ****@***.***에 맞게 작성되었는지 확인 이메일 주소가 존재하는지 까지는 미검사 multiple 속성 : 여러 개의 이메일 주소를 입력, 콤마로 구분 URL 주소 입력 : <input type=”url”/> 웹 주소의 URL을 직접 입력하는 경우를 지원 인터넷 주소 표기에 맞는 ‘http://’ 형식으로 입력되었는지 확인 value 속성에 “http://”를 지정하여 입력 창에 미리 표시 가능

전화번호 입력 : <input type=” tel” /> 전화번호를 입력할 수 있는 입력 창 pattern 속성 : 원하는 전화번호와 자리수에 유효한 패턴을 지정 정규 표현식으로 정의, 자바스크립트에서 사용하는 패턴과 동일 placeholder 속성 : 입력할 자리수를 표시 (단순히 표시만) Tel : <input type="tel" placeholder="00*-000*-0000" pattern="[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}" /> [노트: pattern 속성의 예] 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=”search”/> 검색을 위한 문자열을 입력할 수 있는 입력 필드 외형적으로 사용자 인터페이스에 차이 예, 입력한 검색어 취소

날짜와 시간 입력 날짜 입력(일, 월, 주) <input type=”date”/> 연-월-일의 날짜를 입력 <input type=”month”/>연-월만 입력 <input type=”week”/> 연-주를 입력 (번호순서 1월 첫 주가 ‘W01’) min 속성 : 최소값, max 속성 : 최대값, value 속성 :초기값 속성값은 ‘연-월-일’ 형식으로 날짜 입력 (a) type=”date” (b) type=”month” (c) type=”week”

시간 입력 <input type=“time”/> <input type=“datetime”/> 시간을 입력, “위/아래( )” 버튼을 통해 시간과 분을 별도 조정 <input type=“datetime”/> 날짜와 시간 선택, UTC(Universal Time Coordinated) 국제표준 시간대 <input type=“datetime-local”/> 원하는 지역의 현지 시간 입력 time, datetime, datetime-local 형식의 예

날짜와 시간 입력 예제 [예제 4-5] 날짜와 시간 입력 예제 (ex405_reserve.html) – 120쪽 초기상태 입력오류

색상 및 숫자 입력 색상 입력 : <input type=”color”/> 사용자가 직접 색상을 선택하는 색상 선택메뉴 제공 크롬 브라우저 색상 입력 양식을 클릭하면 전체 색상을 보여주는 시스템 색상메뉴 등장

숫자 입력 : <input type=”number”/> 화살표 버튼으로 숫자를 조정할 수 있는 입력 형식 최소값 min 속성, 최대값 max 속성, 초기값 value 속성 step 속성은 증가/감소 간격을 지정 예, <input type="number" min="0" max="100" step="10" value="20"/> 범위 입력 : <input type=”range”/> 스크롤바를 움직여서 일정한 범위의 숫자를 입력 최소값 min 속성, 최대값 max 속성 막대가 움직이는 칸의 간격 값은 step 속성 예, 0.1mm <input type="range" min="1" max="5" value="3" /> 0.5mm

고급 입력 요소 데이터 목록 기능 : <datalist> 요소 검색어 자동완성 혹은 제시어 기능 구현 가능 <input> 요소의 list 속성과 <datalist> 요소의 id 속성을 동일하게 지정 데이터목록의 옵션 항목들이 제시어 목록으로 사용 입력 창에 포커스가 들어오면 옵션 목록이 등장 참가국 : <input type="text" size="12" list="country" /> <datalist id="country"> <option value="스페인"/> <option value="영국"/> <option value="독일"/> </datalist>

자동 계산 출력 : <output> 요소 입력된 데이터로부터 계산된 결과 표현, 폼의 출력을 위한 요소 name 속성 : 요소의 이름을 지정 for 속성 : 변수의 이름을 지정 폼 전송 시 onForminput 이벤트를 이용하여 계산을 수행 예, 가격 및 권수가 새로 입력되면 onForminput 이벤트 발생 => <output> 요소의 value 값이 “price x num”으로 계산 금액 : <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+'원'"/>

암호화 키 생성 : <keygen> 요소 서버와 통신할 때의 보안을 위해 암호화 키를 생성 웹 보안을 위해 공개키 기반 암호화 방식에서 사용 폼이 제출되면 공개키와 개인키가 쌍을 생 => 공개키는 서버로 전송, 개인키는 브라우저에서 사용자 키를 보관 브라우저 별로 지원되는 암호화 방식에는 차이 (a) 오페라 브라우저 (b) 크롬 브라우저

도서 구입 요청 예제 [예제 4-6] 도서 구입 요청 예제 (ex406_purchase.html) – 125쪽