2011-02-01 4 views
4

양식을 제출하기 전에 양식을 확인하여 JavaScript의 체크 박스가 선택되었는지 확인하는 방법이 있습니까?양식을 제출하기 전에 양식을 확인하여 확인란 중 하나라도 선택되어 있는지 확인하는 방법이 있습니까?

뭔가 같은 ...

function checkboxcheck(){ 
/*something in here to check name="brands[]" checkbox array?*/ 
} 

는 기본적으로 난 그냥 0 체크 박스를 선택한다면 그것은 나를 알려드립니다. 1 또는 그 이상이 필요합니다.

제출할 때이 함수를 호출합니다.

감사합니다.

+0

당신이 JQuery와 같은 프레임 워크를 사용하여 시도가 : 여기

var valid = checkboxcheck("brands[]"); 

은 예입니다? – Victor

+0

나는 들어 본 적이 있지만 jquery로는 아무 것도하지 않았다. 그게 유일한 방법이라고 생각하니? 그렇다면 올바른 방향으로 나를 가리킬 수 있습니까? 감사! – NCoder

+0

NCoder : jQuery를 사용할 필요가 없으므로 JS에서 훨씬 쉽게 사용할 수 있습니다. 아래의 Pointy 함수는 다음과 같이 표현 될 수 있습니다 :'($ ('input : checkbox : checked'). 길이> 0)' – Orbling

답변

0

about :

function checkboxcheck(name) { 
    var els = document.getElementsByName(name); 

    for (var i = 0; i < els.length; i++) { 
     if (els[i].checked) { 
      return true; 
     } 
    } 
    return false; 
} 

getElementsByName()을 사용합니다.

사용법 : http://jsfiddle.net/andrewwhitaker/2saJp/1/

+0

감사합니다 앤드류! 그 트릭을 않습니다! – NCoder

3

이 같은 것을 할 수있는 :

function anyCheckboxesChecked() { 
    var inputs = document.getElementsByTagName('input'); 
    for (var i = 0; i < inputs.length; ++i) { 
    if (inputs[i].type === "checkbox" && inputs[i].checked) 
     return true; 
    } 
    return false; 
} 

그런 다음 당신이 당신의 "제출"처리기 "에서 해당 함수를 호출 수를

if (!anyCheckboxesChecked()) { 
    alert("Please check one of the appealing checkboxes on the page"); 
    return false; 
    } 

페이지가이 의미하는 것보다 더 복잡한 경우

(같은 여러 양식이있는 경우 해당 양식을 먼저 찾은 다음 document 대신 대신 .getElementsByTagName() 번으로 전화하십시오.