2014-02-23 21 views
0

當單選按鈕的值是1或2或3,我想爲姓氏和名字運行驗證。JavaScript的單選按鈕的多個值做相同的驗證檢查

<form action="index.php" method="post" name="index"> 

<input type="radio" name="hello" value="abc"> 
<input type="radio" name="hello" value="def"> 
<input type="radio" name="hello" value="ghi"> 
<input type="radio" name="hello" value="jkl"> 
<input type="radio" name="hello" value="mno"> 

<input type="text" id="first-name" name="first-name"> 
<input type="text" id="last-name" name="last-name"> 

</form> 

<script> 

if ($('input:radio[name=hello]:checked').val() == "abc" || $('input:radio[name=hello]:checked').val() == "def" || $('input:radio[name=hello]:checked').val() == "ghi") 
{ 

    if(($('input[name=first-name]').val().length<1)) 
    { 
     $('#first-name').focus(); 
     return false; 
    } 


    if(($('input[name=last-name]').val().length<1)) 
    { 
     $('#last-name').focus(); 
     return false; 
    } 
} 

</script> 

我寫了這樣的東西,但它不起作用。 即使我選擇了「MNO」,第一名稱驗證工作的價值。 另外這個功能將不會驗證最後的名字。

任何想法,我做錯了什麼?

+1

你的腳本似乎確定,我對小提琴和工作正常測試 –

回答

0

您正在使用JavaScript進行驗證,但你應該在功能使用JavaScript和調用該函數從你的形式,直到它不會工作,因爲你是不是叫這個JavaScript意味着它不能正常工作。 這裏是驗證,通過它可以看到如何驗證表單的簡單代碼。希望這段代碼能幫助你。

<!DOCTYPE html> 
<html> 
<head> 
<script> 
function validateForm() 
{ 
var x=document.forms["myForm"]["fname"].value; 
if (x==null || x=="") 
{ 
alert("First name must be filled out"); 
return false; 
} 
} 
</script> 
</head> 

<body> 
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post"> 
First name: <input type="text" name="fname"> 
<input type="submit" value="Submit"> 
</form> 
</body>