2012-05-03 45 views
0

我需要,使得當選擇了一個單選按鈕沒有任何反應,但如果另一個是(例如,其他地址),它會然後驗證以下字段使用JavaScript;JavaScript單選按鈕選擇是否驗證字段?

街道 suberb 郵編

雖然我發佈此,它可能是一個類似的方法,但是當我有一個複選框和一個文本框,我怎麼可能讓這個只有在文本框中不能留空複選框被選中......

謝謝大家!!!!如果需要,請提供更多詳情,我很難解釋事情!

+0

您可以發佈您的HTML?你有沒有嘗試過一些JavaScript呢?你使用一些JavaScript庫(例如jQuery)? –

回答

0

因爲它們會被檢查單選按鈕,當他們點擊它,你可以onClick事件添加到一個單選按鈕,而不是其他。

<input type='radio' id='test' name='test-1' /> 
<input type='radio' id='test' name='test-2'onClick='Validate();'/> 

對於複選框,當用戶選中該框時,應該將焦點設置爲文本輸入字段。這樣,如果用戶離開該字段(onBlur),您可以給他們一個錯誤/提醒以填寫文本。

<input type='checkbox' id='testChkbx' name='testChkbx' onClick=' /*Set the focus to the text box*/'/> 

<input type='text' id='testText' name='testText' onBlur='/* Check to make sure the value of the checkbox is not empty. */'/> 
+0

你不會想盡快驗證表單,你勾選 - 如果你沒有填寫什麼驗證的領域嗎?相反,您總是希望在提交表單時進行驗證。 –

+0

^確實,我該怎麼做? –

0

我假設你可能會使用jQuery,因爲你沒有說。如果沒有,那麼你仍然可以把這些概念並將它們移植到簡單的舊JavaScript或任何你正在使用的。

示例標記

<form id="address-form"> 
<input type="radio" name="validate" id="validate_address" value="yes"> Validate<br> 
<input type="radio" name="validate" value="no"> Don't Validate<br> 
Street <input name="street"><br> 
Suberb <input name="suberb"><br> 
Postcode <input name="postcode"><br> 
<input type="submit"> 
</form>​​​​​ 

條件驗證

要麼某處在<script>標籤或在您包括JavaScript文件頁面上,創建一個提交事件,將前檢查無線電輸入的值做驗證。

$('#address-form').submit(function(event) { 
    if ($('input[name=validate]:checked').val() === 'yes') { 
     if (!formValid()) { 
      event.preventDefault(); // Don't submit the form 
     } 
    } 
}); 

// Perform validations 
function formValid() { 
    if ($('input[name=street]').val().length == 0) { 
     // tell them ... 
     return false; 
    } 
    if ($('input[name=suberb]').val().length == 0) { 
     // tell them ... 
     return false; 
    } 
    if ($('input[name=postcode]').val().length == 0) { 
     // tell them ... 
     return false; 
    } 

    return true; 
} 

這應該是訣竅!

我創建了一個的jsfiddle你可以惹進一步,如果你想 - http://jsfiddle.net/nilbus/JNnuX/2/

使用複選框代替

它非常類似於使用複選框。取而代之的是

if ($('input[name=validate]:checked').val() === 'yes') { 

只是檢查,看看你的複選框被選中。

if ($('input[name=validate]').attr('checked')) { 

http://jsfiddle.net/nilbus/JNnuX/3/

1

/*要檢查無線驗證在員工詳細信息頁*/

function editPage() 
{ 
var select=document.frmEmployeeDetails.radSelect; 
if (radioValidate(select,"Select an Employee")) 
     { 
window.open("EditEmployee`enter code here`.html","_self"); 
     } 
return false; 
} 

希望這個例子可以幫助你的朋友。