2009-09-03 46 views
0

問題是在客戶端驗證使用Java腳本。Radiobutton驗證

與下面給出的問題的程序的重要部分..

... 
<form name="results" action="" method="post"> 
... 
<input type="radio" name="id" value="<%= id_edit %>" /> <!-- Don't bother about id_edit --> 
.... 
<input type="button" name="Edit" value="Edit" onclick="invoke(0)"><input type="button" name="Delete" value="Delete" onclick="return invoke(1)"> 
.... 

腳本,

function invoke(btn) 
{ 
    if(btn == 0) document.results.action="gev.do"; 
    if(btn == 1) document.results.action="del.do"; 
    document.results.submit(); 

} 

基本上什麼我做的是,根據按鈕的選擇,我通過一個給servlet的值,用於更新或刪除。

我的問題是,我如何驗證單選按鈕,也就是說,我可以任何一個人幫我寫js來驗證是否有任何一個單選按鈕被選中。

我所有的努力都是靜靜的,我現在使用服務器端驗證。

+0

與問題無關,但最好避免直接從'document'訪問表單元素。這是一個非標準的傳統擴展,可能在將來無法使用。相反,**通過特定的'document.forms'集合來訪問** - 'document.forms ['results']' – kangax 2009-09-03 13:14:51

回答

0

使用checked屬性檢查單選按鈕的狀態。

0
function at_least_one_checked(radio_group) { 
    for (var i = 0, j = radio_group.length; i<j; i++) { 
    if (radio_group[i].checked) { 
     return true; 
    } 
    } 
    return false; 
} 

if (at_least_one_checked(document.forms.myForm.elements.myGroup)) { 
    // … 
} 
+0

那裏是否有拼寫錯誤?在應該是我 mikej 2009-09-03 14:02:17

+0

有一個錯字,但不是那個。現在修復它。謝謝。 – Quentin 2009-09-03 14:43:42