본문 바로가기

개발참고자료

특정 폼의 값들을 불러오는 elements 함수

반응형
 var chkList = document.frm2.elements["chk"];
 var chkList = document.getElementsByName("chk");

jsp 상에서 같은 이름으로 사용되는 값들..
예로 들면 for문을 이용하여 생성되는 것들이겠지요
그중 체크박스도 대표적이고요
그럼 이것들을 불러오는 함수에 대해 이야기 해보도록 하죠

getElementsByName
elements


이중에서 우리게 제일 쉽게 접할 수 있던건
getElementById의 친구격인  getElementsByName가 아닐까요??

getElementsByName 단어를 살펴보면  Elements라고 되어있죠 's' 가 있다는건 다수라는 의미
그러니 이것들은 배열 타입으로 됩니다.
배열타입으로 받으면 좋은 점은 뭘까요?
일단 값이 한개일때도 있고 여러개 일때도 있을 때 따로 배열처리, 그냥 받는 처리 안해두 되는 점이죠

elements 사용법을 바이블에서 캡쳐해 봤습니다.

사용자 삽입 이미지

이해가시나요?? 대단하십니다~^^
해석을 하면 첫번째 폼의 elements의 길이만큼 for문을 돌면서
elements들 중에 type이 text인 것들을 찾아서 값을 "" 로 주는 소스입니다~

이걸 응용하면 특정 폼 name이 'frm1'안의 element들 중의 특정이름으로 된 값도 찾을 수가 있습니다.
document.frm1.elements로 frm1에 있는 값 중에서 특정 이름으로 찾으면 되겠죠~
특정이름으로 된 값이 1개라면
 var chkList = document.frm1.elements["chk"].value;

여러개라면
for( var i =0 ; document.frm1.elements.length > i; i++){     
    if(document.frm1.elements[i].name == "chk"){    
          var chkBefor = document.frm3.elements[i];
          alert(chkBefor.value);
    }
}

이상 끝~~
반응형