목차
<form> 예제 - 입력폼양식
<form> 정의
<form> 구문
<form> 속성
<form> 동작 원리
<form> 예제 - JS로 폼데이터 입력 여부 체크
<form> 예제 - 입력폼양식
<p>홈짱닷컴 (homzzang.com) 로그인</p>
<form action="login_update.php " method="post" enctype="multipart/form-data" autocomplete="off"> <p>홈짱닷컴 아이디: <input type="text" name="id"></p> <p>홈짱닷컴 비밀번호: <input type="password" name="pw"></p>
<input type="submit" value="로그인"></form>
<form> 정의
사용자 정보를 서버에 전송하는 입력 서식을 작성할 때 사용. (예) 회원가입 페이지의 사용자 정보 입력 페이지
1. HTML5에서 제거된 속성 : accept
HTML5에 추가된 속성: autocomplete, novalidate
2.
<form> 태그는 시작태그와 종료태그로 구성되며, <form> 태그 안엔 아래 태그들이 하나 또는 그 이상 사용될 수 있음.
3.
<form> 태그 안 submit 기능 작동 시, 페이지 새로고침 기본동작 발생함.
새로고침 기본동작 차단하려면, JS preventDefault() 메서드나 jQuery preventDefault() 메서드 이용해 기본동착 막아야 함.
<form> 태그 안에서는 <form> 태그 사용 불가.
6.
PHP Warning: Unknown: Input variables exceeded 1000 와 같은 에러 발생하면서
폼 입력값이 일부 짤리는 경우 에는 서버의
php.ini 파일에서
max_input_vars 값을 늘려주면 됨.
수정 전: max_input_vars = 1000
수정 후: max_input_vars = 100000
<form> 구문
<form> 입력 폼 양식</form>
<form> 속성
속성
속성값
쓰임새
비고
accept
MIME_type
서버가 수용하는 파일의 종류를 지정
HTML5 지원 X
accept-charset
character_set
서버가 처리 가능한 데이터의 캐릭터 셋 지정
action ★
URL 주소
입력된 폼 데이터가 전송될 주소를 입력
enctype ★
application/x-www-form-urlencoded
text/plain
method 속성값이 post일 때,
입력데이터 암호화 여부 지정.
multipart/form-data
파일 업로드할 때 사용.
method ★
get (기본값)
post
입력된 폼 데이터를 전송할 때 사용할
http 방법을 정하는 속성.
get (기본값)
브라우저에 보이는 방법으로 보안에 취약.
일반적인 검색 및 카운트 자료로 시용시
주로 사용됨.
post
사용자가 못 보게하는 방법으로
보안에 강함.
사용자 정보를 DB화 할 때 주로 이용.
이 방법일 때, 상단의 enctype 속성 이용.
name ★
text (글씨)
입력 테이터가 어떤 폼에서 작성된 것인지
식별하기 위해서 이름을 붙임.
입력 테이터의 성격을 고려해 본인이 쉽게
확인할 수 있는 이름을 붙이면 됨.
XHTML 에서는 name 속성 대신,
전역 속성인 id나 class 속성 이용을 권장
target ★
_blank (새 창)
_self (현재 창) _parent (부모 프레임 창) _top (최상위 프레임 창)
입력된 폼 데이터가 전송된 후 반응하는
결과 웹페이지를 어떤 창에서 열지 정함.
autocomplete
on (자동 완성 함) off (자동 완성 안함)
입력 폼의 자동 완성 여부를 지정
HTML5 추가
novalidate
novalidate
입력된 폼 테이터의 유효성을 검사할지
말지를 지정 가능한 속성
HTML5 추가
※ <form> 태그는 전역속성・이벤트속성 지원.
<form> 동작 원리
1. <form> 요소 있는 웹페이지 방문.
2. <form> 데이터 입력.
3. <form> 안의 모든 데이터를 웹 서버 (예: Apache /Nginx)로 전송.
4. 웹서버는 받은 <form> 안의 데이터 처리 위해 웹 프로그램에게 넘김.
5. 웹 프로그램은 <form> 안의 데이터 처리.
6. 처리 결과 담은 새 html 페이지를 웹 서버에게 넘김.
7. 웹서버는 받은 새 html 페이지를 브라우저에 전송
8. 브라우저는 받은 html 페이지를 뿌림.
<form> 예제 - JS로 폼데이터 입력 여부 체크
<form name="form" action="action_page.php" onsubmit="return input_check()" >
<input type="text" name="id" placeholder="ID">
<input type="text" name="pw" placeholder="PW">
<input type="submit" value="확인">
</form>
<script>
function input_check() {
if(form.id.value == "") {
alert("ID 입력 바람.");
form.id.focus();
return false;
} else if(form.pw.value == "") {
alert("PW 입력 바람.");
form.pw.focus();
return false;
} else {
return true;
}
}
</script>
결과보기
PS. 주의: onsubmit="return input_check()" 코드에서 return 빼먹지 말 것 !!
주소 복사
랜덤 이동