생활코딩

Coding Everybody

토픽 생활코딩 > 클라이언트 > JavaScript > 웹브라우저 자바스크립트

폼과 관련된 이벤트 타입을 알아보자.

submit

submit은 폼의 정보를 서버로 전송하는 명령인 submit시에 일어난다.

form 태그에 적용된다.

아래 예제는 전송 전에 텍스트 필드에 값이 입력 되었는지를 확인한다. 만약 값이 입력되지 않았다면 전송을 중단한다.

<form id="target" action="result.html">
    <label for="name">name</label> <input id="name" type="name" />
	<input type="submit" />
</form>
<script>
var t = document.getElementById('target');
t.addEventListener('submit', function(event){
	if(document.getElementById('name').value.length === 0){
		alert('Name 필드의 값이 누락 되었습니다');
		event.preventDefault();
	}
});
</script>

아래 구문은 전송을 취소하는 명령이다. 이에 대해서는 기본 동작의 취소에서 자세히 알아본다.

event.preventDefault();

change

change는 폼 컨트롤의 값이 변경 되었을 때 발생하는 이벤트다.

input(text,radio,checkbox), textarea, select 태그에 적용된다.

<p id="result"></p>
<input id="target" type="name" />
<script>
var t = document.getElementById('target');
t.addEventListener('change', function(event){
    document.getElementById('result').innerHTML=event.target.value;
});
</script>

blur, focus

focus는 엘리먼트에 포커스가 생겼을 때, blur은 포커스가 사라졌을 때 발생하는 이벤트다. 

다음 태그를 제외한 모든 태그에서 발생한다. <base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>, <title>

<input id="target" type="name" />
<script>
var t = document.getElementById('target');
t.addEventListener('blur', function(event){
    alert('blur');	
});
t.addEventListener('focus', function(event){
	alert('focus');	
});
</script>

 

댓글

댓글 본문