2011-02-12 57 views
0

我想你的幫助來開發一個JavaScript函數來驗證是否選中下列單選按鈕組(IDType)之一,並檢查哪個值並查看(ValidationError)分區中的錯誤消息,以防沒有單選按鈕選擇??Javascript Radibutton組驗證

<td> 
<div> 
<span> 
<input type="radio" name="IDType" id="IDType" value="IDtype1"/> 
ID Type 1 
<input type="radio" name="IDType" id="IDType" value="IDtype2"/> 
ID Type 2 
</span> 
<div id="ValidationError" name="ValidationError"> 
&nbsp; 
</div> 
</div> 
</td> 

感謝您的幫助.....

+1

你試過了什麼?什麼沒有用?我們沒有爲您編寫代碼的習慣,但會很樂意幫助解決任何問題。 – Oded 2011-02-12 08:13:21

+0

你的兩個`input [type = radio]`元素都有相同的`id`。 `id`值(不像`name`值)**必須是唯一的:http://www.w3.org/TR/html5/dom.html#concept-id – 2011-02-12 08:21:14

+0

謝謝你的回答,但我不想使用jQuery並使用簡單的JavaScript代替。 – user614040 2011-02-12 09:03:18

回答

6

首先,正如我的同事所說,你的單選按鈕不能有相同的id(「IDType」)。

這是一個只有javascript的解決方案,沒有任何jQuery。

<html> 
<head> 
<script type="text/javascript"> 
function Validate() { 
    var radios = document.getElementsByName('IDType') 

    for (var i = 0; i < radios.length; i++) { 
     if (radios[i].checked) { 
     alert("Selected Value = " + radios[i].value); 
     return true; // checked 
    } 
    }; 

    // not checked, show error 
    document.getElementById('ValidationError').innerHTML = 'Error!!!'; 
    return false; 
} 
</script> 
</head> 
<body> 
<form> 
<div> 
<span> 
<input type="radio" name="IDType" value="IDtype1"/> 
ID Type 1 
<input type="radio" name="IDType" value="IDtype2"/> 
ID Type 2 
</span> 
<div id="ValidationError" name="ValidationError"> 
</div> 
</div> 
<input type="submit" value="Submit" onclick="return Validate();" /> 
</form> 
</body> 
</html> 
1
function validateRadioButtons(){ 
    var radio = $('input:radio[name="IDType"]:checked'); 
    if(radio.length == 0)//no buttons selected 
     { 
      $('ValidationError').text("you haven't selected any buttons!"); 
      return; 
     } 
    $('ValidationError').text(radio.val()+' is selected'); 
} 

PS:爲了這個工作,你應該考慮使用唯一的ID對DOM元素。你的單選按鈕不能有相同的ID(「IDType」)。