2011-01-17 2 views
-1

나는 체크/체크 된 수를 세는 스크립트를 작성했으나 제대로 작동하는 것으로 확인했지만 r1 []을 읽으려면 체크 박스 이름이 필요하다. 이제는 도움이되지 않는다. 자바 스크립트 ...[]와 함께 JavaScript를 읽는 중 확인란을 사용하는 방법

<input name='r1' type='checkbox' value='' onClick='return GetSelectedItem2()' /> 

이 문제가 해결되지 않습니다 WORKS

<input name='r1[]' type='checkbox' value='' onClick='return GetSelectedItem2()' /> 

JAVASCRIPT

function GetSelectedItem2() { 
    chosen = "" 
    numCheck = 0 
    len = document.f1.r1.length 

    for (i = 0; i < len; i++) { 


     if (document.f1.r1[i].checked) { 
      numCheck++ 
      if (numCheck == 3) { 
       alert("Only pick two date") 
       document.f1; 
       return false; 
      } 
     } 
    } 
} 
+0

질문 제목은 자바를 언급 질문은 자바 스크립트에 관한 것입니다. 나는 너를 위해 그것을 편집했다. –

+0

전 세계 반쪽 열쇠가 부러진 것을 맹세합니다 ... – Bojangles

답변

1

자바 스크립트는 PHP와 같은 양식 요소를 열거하지 않습니다. 그것은 그대로 이름을 유지합니다. 모든 요소가 같은 이름을 가지고 있기 때문에,

// pseudo code 
for (var e in document.f1.elements) { // might need for each etc. 
    if (e.name == "r1[]") { 
     if (e.checked) { 
      numCheck++; 

배열 구문 액세스가 작동하지 않습니다 : 수동으로 이름 "r1[]" 확인, 요소의 반복해야합니다. Javascript 구현이 이러한 방식으로 액세스 할 수 있는지 (심지어 어쨌든 내부적으로 dict로 저장 될 수도 있음) 확신 할 수는 없습니다.

0

자바 스크립트 :

function anyCheck(f){ 
var t=0; 
var c=f['r1[]']; 
for(var i=0;i<c.length;i++){ 
c[i].checked?t++:null; 
} 

if(t == 3) { 
alert('You selected ' + t + ' boxes.'); 
document.playlist; return false; 
} 


} 

체크 박스

<input type="checkbox" name="r1[]" onclick="return anyCheck(this.form)"> 
관련 문제