我试图在点击按钮上附加验证。我有:
<script>
$().ready(function() {
//
$("#btnAdd").click(function() {
$("#myForm").validate({
// $("#crap").rules("add", {required: true, messages: {required:"Required input"} });
rules: { crap: "required" },
messages: { crap: "required field"}
// $("#myForm").validate();
});
});
});
</script>
<form method="post" id="myForm" name="myForm">
<input type="text" name="crap" id="crap" class="required" />
<br />
<input type="button" name="btnAdd" id="btnAdd" value="add" />
</form>
现在,如果我将btnAdd更改为提交类型,则可以正常工作。否则,它不会。如何通过点击按钮调用验证?感谢
答案 0 :(得分:1)
验证在提交时发生,这就是它工作的原因..
你不想提交表格吗?
您可以自己调用提交功能 通过链接提交调用验证一个..
$("#myForm").validate({
// $("#crap").rules("add", {required: true, messages: {required:"Required input"} });
rules: { crap: "required" },
messages: { crap: "required field"}
// $("#myForm").validate();
}).form();
[编辑] 实际上,验证插件具有触发验证的表单方法,因此链代替提交..(在上面的代码中更新)
答案 1 :(得分:1)
$('#btnAdd').click(function (){
if($("#formname").valid())
alert("yes");
});
答案 2 :(得分:0)
validate()
调用会在表单上设置验证。它会在提交表单时进行验证。您可以致电valid()
强制进行验证。请参阅docs和demo
$().ready(function() {
$("#myForm").validate({
// $("#crap").rules("add", {required: true, messages: {required:"Required input"} });
rules: { crap: "required" },
messages: { crap: "required field"}
});
$("#btnAdd").click(function() {
if($("#myForm").valid()) {
// Submit the form?
}
});
});
答案 3 :(得分:0)
验证实际上附加在表格而非按钮上。你不必把
$("#myForm").validate({...});
按钮内部点击代码。在表单提交上调用验证。按钮不会自动提交表单,但
<input type="submit".../>
一样。这就是为什么表单验证只会在您使用提交输入时启动。
如果由于某种原因确实需要按钮,那么您应该让按钮以编程方式提交表单。