일반적으로 객체가 1개일때 Length 를 구하게 되면 undefined 가 뜨게 됩니다.
만약 소스상에 Form 객체 check_no 가 없거나, 1개일때, 또는 여러개가 생길 수도 있는 프로그램을 만들게 될 경우 이러한 경우 예외 처리 하는 경우 난감 할때가 있습니다. 이런 경우 간단한 방법으로 처리가 가능합니다. script 소스에서는 getElementsByName Method 를 이용해서 check_text[] 을 읽어와 check_obj.length 와 같은 형태로 뿌려주면 undefined 가 뜨지않고, length를 구할 수 있습니다. 그렇다면 없는 객체를 읽어와 length를 출력하게 되면 어떻게 될까요? 보통의 경우는 없는 객체로 인식하여 Null 값을 반환하여 스크립트 오류가 뜨게 되는데요.. 테스트 해 보도록 하겠습니다. var check_obj = document.getElementsByName('input_null[]') ; alert(check_obj.length); 소스를 보시면 getElementsByName 메소드를 이용하여 input_null[] 객체를 읽어 옵니다. 그러나 document 에는 input_null[] 이라는 객체가 존재하지 않습니다. 그래도 스크립트상 오류를 뜨지 않고, 0이라는 숫자 length를 반환 하게 됩니다. 아래 예제는 유용한 예제 입니다. checkbox checked 에 따른 input 값을 찾아 출력해 주는 소스 입니다.
check_obj.item(i).checked 를 대신 하여 check_obj[i].checked 와 같이 사용하여도 되며, text_obj.item(i).value 를 대신 하여 text_obj[i].value 를 사용해도 됩니다.마지막으로 ASP 프로그램에서 이 객체를 받을 때는 아래 소스처럼 받으시면 됩니다. check_list = Request("check_list[]")
|
|||||||||||