2011-05-24 147 views
3

我對JavaScript一無所知。 我不得不將一組兩個單選按鈕添加到HTML表單,其值爲「是」和「否」。 現在我需要讓他們「需要」 有形式幾個其他必填字段,這一段JavaScript代碼:需要單選按鈕 - JavaScript驗證

<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
reqd_fields = new Array(); 
reqd_fields[0] = "name"; 
reqd_fields[1] = "title"; 
reqd_fields[2] = "company"; 
reqd_fields[3] = "address"; 
reqd_fields[4] = "city"; 
reqd_fields[5] = "state"; 
reqd_fields[6] = "zip"; 
reqd_fields[7] = "phone"; 
reqd_fields[8] = "email"; 
reqd_fields[9] = "employee"; 

function validate(form_obj) { 
    if (test_required && !test_required(form_obj)) { 
    return false; 
    } 

它是由一個人完成的東西,而不是我。 我所做的是隻是增加了我的行業這個數組,像這樣:

reqd_fields[10] = "acknowledge"; 

但是它似乎並不奏效。

請指導我,因爲對於JavaScript我完全無知。

+0

我們還需要查看test_required()函數來了解這裏發生了什麼。 – 2011-05-24 20:05:02

回答

4

鏈接到您的網頁或HTML的樣本將使它更容易些,但我要大膽的猜測並說數組中的值與您單選按鈕元素的「name」屬性相匹配。

如果是這種情況,「確認」應該是這兩個這兩個單選按鈕的名稱,並且爲了使事情更容易,應該將屬性「checked」設置爲「true」,這樣就有一個默認值,所以你無論哪種方式都會獲得價值。

所以,這樣的事情:

<input type="radio" name="acknowledge" value="yes" /> Yes <br/> 
<input type="radio" name="acknowledge" value="no" checked="true" /> No <br/> 
3

爲什麼不只是默認選擇一個,那麼總是會選擇一個。

+1

我喜歡這個主意! :) 謝謝! – vlevsha 2011-05-24 20:09:31

0

我總是建議使用jQuery validate似乎不是試圖更好地我重新發明輪子

+0

那麼,自[9/10瀏覽器將具有內置](http://caniuse.com/#feat=form-validation)[表單驗證](https://html.spec)之後,jQuery也重新啓動了輪子。 whatwg.org/multipage/forms.html#client-side-form-validation)*無需運行腳本*。 – transistor09 2015-08-09 15:33:37

+0

是的一些驗證已經內置到Web瀏覽器中。但是,jQuery驗證是在2006年開始的。在Web瀏覽器中,不支持許多驗證類型或自定義驗證。 – mcgrailm 2015-08-10 12:15:30

0

沒有看到你的HTML和你的驗證功能,目前還不清楚你在尋找什麼,但這裏的多個方面是如何要求從所選值的示例一個廣播組:

<form name="form1"> 
    <input type="radio" name="foo"> Foo1<br/> 
    <input type="radio" name="foo"> Foo2<br/> 
</form> 
<script type="text/javascript"> 
    var oneFooIsSelected = function() { 
    var radios = document.form1.foo, i; 
    for (i=0; i<radios.length; i++) { 
     if (radios[i].checked) { 
     return true; 
     } 
    return false; 
    }; 
</script> 

這是一個working example on jsFiddle

0

我知道問題是古老的,但這是一個簡單的解決方案。

<script type="text/javascript"> 
function checkForm(formname) 
{ 
if(formname.radiobuttonname.value == '') { 
alert("Error: Please select a radio button!"); 
return false; 
} 
document.getElementById('submit').value='Please wait..';void(0); 
return true; 
} 
</script> 

<form name="formname" onsubmit="return checkForm(this)" 

<input type="radio" value="radio1" name="radiobuttonname" style="display:inline;"> Radio 1<br> 
<input type="radio" value="radio2" name="radiobuttonname" style="display:inline;"> Radio 2<br> 

<input type="submit" value="Submit"> 
</form>