2012-11-06 51 views
0

我查看了幾個地方,找不到可用的示例。在我的示例中,我選擇收音機組並測試爲空,以便我可以發出一條消息,告訴用戶進行選擇。這樣嘗試驗證單選按鈕被選中

<script>       
function validate(form) { 
    fail = validate__veteran(form); 
    if (fail == "") { 
     return true; 
     } else { 
      alert(fail); 
      return false; 
     } 
    } 
</script> 
<script> 

    function validate_veteran(form) { 
     var radios = document.getElementsById('veteran'); 
     if (radios == null) { 
      return "please make a selection for veteran"; 
     } 
     return ""; 
    } 
</script> 
<form method="post" action="checkbox.php" onSubmit="return validate(this)"> 
     Veteran?<**input type="radio" id="veteran"** name="veteran" value="veteran" /> yes <br> 
       <input type="radio" id="veteran" name="veteran" value="" /> no <br> 
<input id="submit" type="submit" name="submit" value="Signup" />       
</form> 
+2

你的代碼是一個小越野車,沒有getElementsById,但getElementById –

+0

,如果他們是很多,我想你正在尋找的是getElementsByClassName –

+0

或getElementsByName – karaxuna

回答

0

,如果你可以使用jQuery這可以在單行achive

if ($('input[name=veteran]:checked').length <1) { 
     alert("please make a selection for veteran"); 
return false; 
    } 
+0

這給我提供了一個警告框,但是當我關閉它後,它會繼續到PHP而不讓我輸入選擇。 – jimeast

+0

使用return false – Buzz

+0

謝謝! Jquery來拯救! – jimeast

2

你可以得到檢查狀態:

var radios = document.getElementById('veteran').checked; 
0
  1. 更好的方式是,分配兩個不同的ID,以烏爾單選按鈕,並檢查其使用

    document.getElementsById('ContorlID').checked 
    
  2. 被查

或通過你的代碼gng,使用值屬性

function validate_veteran(form) { 
     var radios = document.getElementsById('veteran'); 
     if (radios.value == "" { 
     return "please make a selection for veteran"; 
     } 
    return ""; 
    } 
+0

這給我提供了一個警告框,但是當我關閉它,它會繼續到PHP而不讓我輸入選擇。 – jimeast

+0

晚上太晚了我的大腦正在關閉我知道這很簡單我會在早上看看它。感謝大家的幫助。 – jimeast

+0

是啊! Jquery來拯救。 – jimeast

0

改變你的形式:

<form method="post" name='myForm' action="checkbox.php" onSubmit="return validate(this)"> 

<script> 
    function validate_veteran(form) 
    var veteran=""; 
     for (var i=0; i < document.myForm.veteran.length; i++) 
    { 
    if (document.myForm.veteran[i].checked) 
     { 
     veteran = document.myForm.veteran[i].value; 
     } 
return veteran 
    } 
    </script>