Develop!/script, Ajax
폼 객체의 이름을 배열 형식으로 지었을 경우 객체에 접근하는 방법...
체리필터
2006. 11. 9. 12:28
728x90
반응형
자바스크립트에서 폼의 객체 이름을 "objName[]" 식으로 지을 경우가 있다.
보통 php쪽에서 배열로 받기 위해서 위와 같이 짓는데...
이를 자바스크립트에서는 배열로 인식하지 못해 조금 난처한 경우가 많다.
가령 다음과 같은 경우 오류가 난다
<HTML>
<HEAD>
</head>
<script language="JavaScript">
<!--
function objLength() {
alert(document.testForm.checkObj[].length);
}
//-->
</script>
<form name="testForm">
<input type="checkbox" name="checkObj[]"> aaa
<input type="checkbox" name="checkObj[]"> bbb
<input type="checkbox" name="checkObj[]"> ccc
<a href="javascript:objLength();">체크박스의 개수는?</a>
</form>
이럴 경우에는 다음과 같이 처리해 주면 된다.
<script language="JavaScript">
<!--
function objLength2() {
alert(document.forms['testForm2']['checkObj[]'].length);
}
//-->
</script>
<form name="testForm2">
<input type="checkbox" name="checkObj[]"> aaa
<input type="checkbox" name="checkObj[]"> bbb
<input type="checkbox" name="checkObj[]"> ccc
<a href="javascript:objLength2();">체크박스의 개수는?</a>
</form>
또한 각 개체로의 접근은 다음과 같이 사용하면 된다...
ex) document.forms['testForm2']['checkObj[]'][0].value
이 문제로 조금 머리 아파 하던 차에... 해결방법을 알게 되어서 올립니다. ^^
728x90
반응형