[javascript] form 관련 이벤트 this / currentTarget / target / srcElement
by mini_min[javascript] form 관련 이벤트 this / currentTarget / target / srcElement
✔️ form 관련 이벤트 this
: form 요소에 이벤트 핸들러에서 this.form 는 현재 객체의 부모 form 을 나타낸다.
<form name="myForm">
<p> 이름 : <input type="text" name="name"></p>
<p> 국어 : <input type="text" name="kor"></p>
<p> 영어 : <input type="text" name="eng"></p>
<p> 수학 : <input type="text" name="mat"></p>
<p> <button type="button" onclick="send(this.form);">확인</button>
</form>
💡 send(this.form)
: 부모가 되는 폼을 나타낸다.
function send(f) {
let s;
const inputELS = document.querySelectorAll("form input[type=text]");
for(let obj of inputELS){
if(! obj.value){
obj.focus();
return;
}
}
s = f.name.value + ", ";
s += f.kor.value + ", ";
s += f.eng.value + ", ";
s += f.mat.value;
alert(s);
}
💡1) inputELS 는 querySelectorAll 로, form 에서 input 타입이 text 인 것을 받아낸다.
2) 이를 for ~ of 문으로 돌려서 obj 에 저장하고, 만약 value 값이 false 인 경우 return 했다.
✔️ currentTarget / target / srcElement
: currentTarget (이벤트를 발생시킨 객체) / target (이벤트를 발생시킨 객체. 표준은 currentTarget과 target) / srcElement (이벤트를 발생시킨 객체)
: 모두 이벤트를 발생시킨 객체를 가리킨다.
function fun(e) {
console.log(e);
console.log(e.currentTarget);
//이벤트를 발생시킨 객체
let obj = e.currentTarget;
//이벤트를 발생시킨 객체의 태그명
let t = obj.tagName;
//이벤트를 발생시킨 객체의 id 알아내기
let i = obj.id;
//이벤트를 발생시킨 객체의 innerText
let s = obj.innerText;
let result = "이벤트 발생시킨 태그 : " + t + "<br>";
result += "아이디 : " + i + "<br>";
result += "텍스트 : " + s + "<br>";
document.getElementById("resultLayout").innerHTML = result;
}
- tagName : 이벤트를 발생시킨 객체의 태그명
- id : 이벤트를 발생시킨 객체의 ID
- innerText : 이벤트를 발생시킨 객체의 innerText
'JavaScript' 카테고리의 다른 글
[javascript] 키보드 관련 이벤트 / 키보드 이벤트 예제 (1) | 2022.09.25 |
---|---|
[javascript] 이벤트 전파 - preventDefault / stopPropagation / Bubbling과 Capturing (1) | 2022.09.25 |
[javascript] 이벤트 EventTarget / 이벤트 등록 제거 방법 (1) | 2022.09.25 |
[javascript] window open 속성 - 팝업창 띄우기 / html 창 띄우기 / 색 변경 (0) | 2022.09.25 |
[javascript] location 객체 / navigator 객체 (0) | 2022.09.25 |
블로그의 정보
개발자 미니민의 개발로그
mini_min