2011-02-17 5 views
0

자바 스크립트에서 체크 박스의 유효성을 검사하고 싶습니다. PHP로 체크 박스를 동적으로 생성하고 체크 박스의 이름은 "checkbox1", "checkbox2", "checkbox3"입니다. 즉, ++ 증가하고 이러한 숫자는 데이터베이스에서 발생합니다. 처음에는 2 행만 가져오고 다음에 112 행만 가져옵니다.다이나믹 체크 박스 유효성 확인

적어도 하나의 확인란을 선택해야합니다 자바 스크립트에서 확인할 수 있습니다.

+1

자바 스크립트 유효성 검사를 할 수 있지만 다른 사람이 자바 스크립트를 사용할 수없는 경우 유효성 검사를 무시합니다. php에서도 유효성을 확인하십시오. – Jacob

+0

그래, 무슨 말을 정확하지만 여기에 문제가 확인란의 이름입니다 ... 나는 getElementById 또는 getElementByName 같은 체크 박스 배열의 길이를 얻으려면 - 안으로 bulid 자바 스크립트 용어를 사용할 수 없습니다. – Shatru

답변

1

어떤 JS 프레임 워크를 사용하지 않는 경우, 당신의 체크 박스를 가정하면 체크 박스에

을 같은 name 속성을 줄이에 따라 추가

var chkBoxes = document.getElementsByName("test"); 
    var chked=0; 
    for(var i=0;i<chkBoxes.length;i++) 
    { 
    if(chkBoxes[i].checked) 
     chked++; 
    } 
    if(chked===0) 
    alert("Please select a value"); 

test 명명 된 주석에 지정된 샘플 코드

function isChecked() 
{ 
    var i=1; 
    var chkd=0; 
    var elem = ""; 
    var chkForMoreChkBoxes=true; 
    do{ 
     elem=document.getElementById("check_"+i); 
     try{ 
      if(elem.checked) 
      { 
       chkd++; 
      } 
      i++; 
     } 
     catch(err) 
     { 
      chkForMoreChkBoxes=false; 
     } 
    }while(chkForMoreChkBoxes) 
    if(chkd===0) 
    { 
    alert("Please select a value"); 
    return false; 
    } 

} 
+0

여기에 문제가있는 체크 박스 이름은 동적이며 PHP 코드에 의해 생성됩니다. 즉, 루프 및 상자 checkname을 통해 항상 checkbox20, checkbox21 등을 작성하므로 여기에서 제안한 코드를 사용할 수 없습니다. – Shatru

+0

코드 예제 - 를 예로들 수 있습니다. 체크 박스가 100 개 이상 있고 체크 박스를 동적으로 식별 할 수있는 방법이 있습니다. – Shatru

+0

@Shatru : 예제에 따라 코드를 업데이트했습니다. 작동하는지 확인하고 되돌려주십시오. –

2
// When you use jQuery... somehow like this 
$('form').submit(function() { 
    if ($("input:checked").length == 0) { 
     alert('Please check at least one checkbox!'); 
     return false; 
    } 
});