-HTML 제어(2)-
#<img>요소 제어
...javascript
var myimg = document.getElementById("img요소의 id");
my img.src = "이미지 파일 경로";
myimg.width = "200px";
myimg.height = "100px";
...
#<form>요소 제어
id 속성값으로 접근하는 경우
var myform = document.getElementById("form_id");
name 속성값으로 접근하는 경우
var myform = document.form_name;
id 속성값으로 접근하는 경우
var hello = document.getElementById("input_id");
name 속성값으로 접근하는 경우
var myform = document.form_name;
var hello = myform.input_name;
name속성값을 사용하는 경우 아래와 같이 축약도 가능함.
var hello = document.form_name.input_name;
#획득한 <input>요소의 입력값 처리
var myform = document.form_name;
var hello = myform.input_name;
hello.value = "hello world"; //값의 설정
var msg = hello.value; //값의 조회
name속성값을 사용하는 경우 아래와 같이 축약도 가능함
document.form_name.input_name.value = "hello world";
var msg = document.form_name.input_name.value;
#checkbox, radio의 제어
name 속성이 동일한 요소들끼리 하나의 배열로 그룹회 됨.
var foo = document.form1.myradio[0].value;
checked 프로퍼티를 사용하여 선택 여부를 조회하거나 선택 상태를 강제 설정할 수 있음.
//선택 여부 검사
var foo = document.form1.myradio[0].checked;
if(foo) {
...선택된 경우의 처리...
}
//강제 성택
document.form1.myradio[0].checked = true;
배열이라는 특성 때문에 반복문을 통한 제어가 가능
var checkbox = document.form_name.checkbox_name;
var count = 0l //선택된 항목의 수
for (var i=0l i< checkbox.length; i++) {
if(checkbox[i].checked) {
count++;
}
}
#드롭다운의 제어
-<select> 태그로 표현되는 드롭다운 요소는 그 자체가 배열이며 <option>태그들이 배열의 요소가 된다.
-드롭다운 객체에 대한 selectedIndex는 선택된 요소의 배열 인덱스를 의미
var dropdown = document.form_name.select_name;
//특정 위치 강제 선택
dropdown.selectedIndex = 2;
//현재 선택된 요소의 위치
var choice_index = dropdown.selectedIndex;
//현재 선택된 요소의 value값
car choice_value = dropdown[choice_index].value;
주로 첫 번째 <option>요소는 선택을 요구하기 위한 안내문이 표시되는 경우가 많기 때문에 selectedIndex값이 0인 경우는 선택한 것으로 간주하지 않는다.
if(dropdown.selectedIndex == 0) {
...선택되지 않은 경우의 처리...
}
#<form>의 reset, submit처리
#reset
document.form_name.reset();
#submit
document.form_name.submit();
#submit 이벤트
<form name = "form_name" method="post/get" action="웹 프로그램 URL" onsubmit="JS함수(); return false;">
</form>
submit이벤트를 통해서 JS함수를 호출할 경우 JS 함수에서는 맨 마지막에 강제로 submit 처리를 해야만 한다.
function JS함수() {
...입력값 검사...
document.form_name.submit();
}
JS함수 안에 에러가 있을 경우 그 이후 부분은 실행되지 않기 떄문에 페이지가 새로고침되는 현상이 발생하므로 이 경우 한 블록씩 코드를 지워가면서 에러가 발생하는 위치를 먼저 찾아야 한다.