2011-04-19 145 views
0

我試圖讓jQuery驗證與我的單選按鈕形式一起工作。 不過,我在與得到它的工作麻煩,驗證功能不工作,這是我的工作代碼:jQuery驗證問題

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8" /> 
<title></title> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script> 
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8/jquery.validate.min.js"></script> 

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#formq").validate(); 
}); 
</script> 

<style type="text/css"> 
<!-- 

label.error {display: none;} 

//--> 
</style> 
</head> 

<body> 

<form id="formq" name="formq" action="check.php" method="post"> 
    <fieldset> 
     <input type="hidden" name="check_submit" value="1" /> 
     <label for="radio-1" tabindex="1" class="circle">Circle</label> 
     <input type="radio" name="radio-button" id="radio-1" value="Circle" validate="required:true" /> 
     <label for="radio-2" tabindex="2" class="pentagon">Pentagon</label> 
     <input type="radio" name="radio-button" id="radio-2" value="Pentagon" /> 
     <label for="radio-3" tabindex="3" class="triangle">Triangle</label> 
     <input type="radio" name="radio-button" id="radio-3" value="Triangle" /> 
     <label for="radio-4" tabindex="4" class="hexagon">Hexagon</label> 
     <input type="radio" name="radio-button" id="radio-4" value="Hexagon" /> 
     <label for="radio-5" tabindex="5" class="square">Square</label> 
     <input type="radio" name="radio-button" id="radio-5" value="Square" /> 
     <label for="radio-6" tabindex="6" class="octagon">Octagon</label> 
     <input type="radio" name="radio-button" id="radio-6" value="Octagon" /> 
     <label for="radio" class="error">Please select your gender</label> 

     <input class="submit" type="submit" value="Submit"/> 
     </fieldset> 
</form> 
</body> 
</html> 

回答

1

與名稱「 - 」不工作。我沒有檢查的文件,但下面的代碼工作

$.validator.setDefaults({ 
submitHandler: function() { alert("submitted!"); }//gives an alert messagem when submitted 
}); 
$(document).ready(function() { 

$("#formq").validate({ 
rules: { 
radiobutton: "required" 
}, 
messages: {//to use custom messages 
radiobutton: "This is needed, buddy!"  
} 
}); 

}); 

如果你使用之前的方式,$(「#formq」)驗證(),你也可以使用類:

<input type="radio" class="required" /> 
+0

我不知道它是否只有我,但該文檔是相當複雜的理解。 – tenshimsm 2011-04-19 17:14:42

0

您還沒有指定任何規則的jQuery驗證。使用CSS,jQuery元數據或者在函數調用中進行。例如。 (未測試):

$("#formq").validate({ rules: 
    { 
     "radio-button" : { required : true } 
    } 
}); 
+0

嗯,那並不起作用。你確定這是需要嗎?文檔沒有提到它。 – INT 2011-04-19 14:05:06

+0

是的,我說它沒有經過測試。規則中的關鍵字(「radio-button」)應該是您正在驗證的事物的ID。我從來沒有在ID中使用連字符來嘗試輸入,在使用對象符號時不要認爲連字符是允許的。 – davidosomething 2011-04-19 17:21:28

0

有了這個,如果被選中與否,哪一個被選中,你可以測試:

$('.submit').bind('click',function() { 
    if($("#formq input:radio").is(':checked')) { 
     alert('true, value = '+$('#formq input:radio:checked').val()); 
    } else { 
     alert('false'); 
    } 
}); 
+0

對不起,我沒有看到你在使用插件。 – tenshimsm 2011-04-19 16:06:58