2017-10-12 14 views
0

JavaScriptを初めて使用しています。私の必要性は、チェックボックスのフォームを検証することです。私は単一のチェックボックスを検証することはできますが、複数のチェックボックスの値を検証することはできません。あなたは以下のスニペットのように実行する必要があり、複数のチェックボックスについてはJavaScriptのチェックボックスを有効にすることができません

function validate(form) { 
 
    if (form.answer.checked == false) { 
 
    alert('select anwser!'); //able to validate 
 
    return false; 
 
    } 
 

 
    if (form.answers.checked == false) { 
 
    alert('You must choose any anwsers!'); //unable to validate 
 
    return false; 
 
    } 
 
}
<form id="surveyform" action="#" onsubmit="return validate(this)"> 
 
    <input type="checkbox" name="answer" value="answer1" />answer 
 
    <br><br> 
 
    <input type="checkbox" name="answers[]" value="answer1" />answer1 
 
    <input type="checkbox" name="answers[]" value="answer2" />answer2 
 
    <input type="checkbox" name="answers[]" value="answer3" />answer3 
 
    <input type="checkbox" name="answers[]" value="answer4" />answer4 
 
    <br><br> 
 
    <input type="submit"> 
 
</form>

答えて

2

function validate(form) { 
 
\t if(form.answer.checked == false){ 
 
\t \t alert ('select anwser!'); 
 
\t \t return false; 
 
\t } 
 

 
\t var checkans = false; 
 
\t ans = form.elements['answers[]']; 
 
\t for (var i = 0; i < ans.length; i += 1) { 
 
\t \t if (ans[i].checked) { 
 
\t \t \t checkans = true; 
 
\t \t } 
 
\t } 
 
\t if (!checkans) { 
 
\t \t alert ('You must choose any anwsers!'); 
 
\t \t return false; 
 
\t } 
 
}
<form id="surveyform" action="#" onsubmit="return validate(this)"> 
 
\t <input type="checkbox" name="answer" value="answer1" />answer 
 
\t <br><br> 
 
    <input type="checkbox" name="answers[]" value="answer1" />answer1 
 
\t <input type="checkbox" name="answers[]" value="answer2" />answer2 
 
\t <input type="checkbox" name="answers[]" value="answer3" />answer3 
 
\t <input type="checkbox" name="answers[]" value="answer4" />answer4 
 
\t <br><br> 
 
\t <input type="submit"> 
 
</form>

+0

ありがとうございました:) – Wis

+0

いつも歓迎:) – PraveenKumar

1

あなたがそれらをループするためにはforEachを使用することができ、そのためにあなたは、答えの配列をループしようとすると、各チェックボックスに真をチェックすることができます。

関連する問題