커리큘럼(12-30/변경)
01. Java
02. git
03. Database
04. Jsp [Server]
05. HTML,CSS
07. JS (v)
06. 미니프로젝트-2W (v)
08. SpringFramework , SrpingBoot
09. React JS [Front-end]
10. 중간프로젝트 (1M)
11. Linux 명령어
12. AWS 클라우드
13. DevOps - Docker
14. App - Android
15. 최종프로젝트 (1M)
JS(Java Script)
DOM & BOM
DOM(Document Object Model)
노드의 속성 추가 및 제거
메서드 |
설명 |
getAttribute() |
요소의 속성 취득 |
setAttribute() |
요소의 속성 저장 |
removeAttribute() |
요소의 속성 제거 |
이벤트 객체
- 이벤트 발생시 실행되는 함수의 인자값으로 현재 실행되는 event객체를 넣어주게 되어있음
- 이벤트 전파
: 부모에 하나의 이벤트만 걸어 놓으면, 모든 이벤트가 동일하게 자식으로 위임되는 특징
이벤트 객체의 기능 |
설명 |
stopPropagation() |
이벤트 전파를 막음(버블링 중단) |
target |
이벤트를 적용한 타겟 속성 |
currentTarget |
실제 이벤트가 걸려있는 타겟 속성 |
preventDefault() |
고유특성을 가진 태그의 이벤트를 제거 |
- document객체의 하위 객체 중 하나
- form객체는 doucment의 하위 객체이므로 유일하게 name속성으로 선택 가능
ex) document.폼명.요소명
속성 값 |
설명 |
value |
input, textarea 요소의 value값을 반환 |
checked |
checkbox나 radio가 체크되어 있으면 ture, 체크되어 있지 않으면 false를 반환 |
disabled |
요소가 활성화 상태이면 false, 비활성 상태이면 true반환 |
length |
요소의 개수를 반환 |
focus() |
요소의 포커스를 맞춤 |
blur() |
요소의 포커스를 없앰 |
submit() |
form의 값을 전송 |
reset() |
form의 값을 초기화 |
<body>
<!--
form태그는 doucment의 자식이어서
document.name명.name명으로 접근 가능
-->
<form action="#" name="myForm">
이름 : <input type="text" name="name">
번호 : <input type="text" name="phone">
<input type="checkbox" name="check">css
<input type="checkbox" name="check">HTML
<input type="checkbox" name="check">JS
<a href="#" id="myBtn">서브밋</a>
</form>
<script>
var myBtn = document.getElementById('myBtn');
myBtn.onclick=function(){
event.preventDefault(); // a링크의 고유한 이벤트 중단
// 폼 객체의 유효성 검사
console.log(document.myForm.name);
if(document.myForm.name.value.length<=0){
document.myForm.name.style.border='3px solid red';
document.myForm.name.focus();
alert('이름은 0자 이상입니다.')
return;
}else if(document.myForm.phone.value.length!=11){
alert('휴대폰 번호는 11자리 입니다.');
document.myForm.phone.focus();
return;
}
// document.myForm.submit(); // 폼태그의 서브밋
}
document.myForm.phone.onblur= function(){
event.target.value = event.target.value.replaceAll('-','');
}
</script>
</body>