2013-10-24 45 views
0

在JavaScript中,我很愚蠢,我想問你的關於單選按鈕驗證的幫助。我有3組問題,每組有3個單選按鈕。我想驗證所有3個問題是否已被回答或檢查。Javascript驗證所有單選按鈕,如果選中

在此先感謝

這裏是我已經測試的代碼,它只是驗證1單選

<script type="text/javascript"> 
function validateForm() { 
    var radios = document.querySelectorAll("#option1, #option2, #option3, #option4, #option5, #option6"); 
    var formValid = false; 

    var i = 0; 
    while (!formValid && i < radios.length) { 
     if (radios[i].checked) formValid = true; 
     i++;   
    } 

    if (!formValid) alert("Must check some option!"); 
    return formValid; 
} 
</script> 
+0

與我們分享什麼ü試圖... –

+0

檢查這個線程.. http://stackoverflow.com/questions/3780040/validating-a-radio-button問題-is-checked-with-jquery – HackerGK

+0

我編輯了這個問題。謝謝 – tmv1845331

回答

0

試試這個工作對我來說

<script type="text/javascript"> 
     function validateForm(){ 
      var inputs = document.querySelectorAll("#option1,#option2,#option3,#option4,#option5,#option6") 
      var formValid = false; 
      for(var i=0;i<inputs.length;i++){ 
       if(inputs[i].checked){ 
        formValid = true; 
       } 
      } 
      if(!formValid){ 
       alert("Must check some option!"); 
      } 
     } 
    </script> 

HTML代碼

<body>  
    <form name="frm">   
      Question 1<br> 
      <input type="radio" name="group1" value="Ans1" id="option1">Ans1<br> 
      <input type="radio" name="group1" value="Ans2" id="option2">Ans2<br> 
      Question 2<br> 
      <input type="radio" name="group2" value="Ans1" id="option3">Ans1<br> 
      <input type="radio" name="group2" value="Ans2" id="option4">Ans2<br> 
      Question 3<br> 
      <input type="radio" name="group3" value="Ans1" id="option5">Ans1<br> 
      <input type="radio" name="group3" value="Ans2" id="option6">Ans2<br> 

     <input type="submit" value="Test" onclick="validateForm();" /> 
    </form> 
</body> 
+0

感謝您的回覆,但代碼仍然只驗證一個單選按鈕。我的機器上的 – tmv1845331

+0

驗證所有單選按鈕嘗試使用var inputs = document.querySelectorAll(「input [type = radio]」) –

+0

謝謝Sumit!對於幫助,但是當我嘗試選擇一個時,它會驗證表單,如果我選擇3個單選按鈕中的1個,則會出現一條消息提示,如果3個消息中的2個消息也會提示。我必須選擇3個單選按鈕,以便它可以處理表單動作。 – tmv1845331

0

我已經解決了這個代碼 if ($('div.quizbox:not(:has(:radio:checked))').length) { alert("You missed answering one or more of the questions."); }