Javascript 使用验证器 jQuery 在 Click 事件上验证表单
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/7445423/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Validate a form on Click event with validator jQuery
提问by novellino
I am using jQuery validate for validate an input. My code:
我正在使用 jQuery 验证来验证输入。我的代码:
$('#button').click( function() {
$("#form").validate({
rules: {
phone: {
required: true,
number: true,
rangelength: [7, 14]
}
}
});
});
And the HTML:
和 HTML:
<form id="form" name="form" method="post" action="">
<input id="phone" name="phone" class="required" type="text" />
<div class="button" id="send_b">Send</div>
</form>
This code is not working. If I add this line of jQuery
此代码不起作用。如果我添加这行 jQuery
$("#form").submit();
inside the click event it works. But I don't want to submit the form so I want just to make the validation on click.
在点击事件中它起作用。但我不想提交表单,所以我只想在点击时进行验证。
Does anyone know how to do this?
有谁知道如何做到这一点?
回答by Jens Roland
回答by Alex
Your code is binding a function to the click
event of a button. What you're doing is saying "when this button is clicked, apply form validation to the form".
您的代码将一个函数绑定到click
一个按钮的事件。您正在做的是说“当单击此按钮时,将表单验证应用于表单”。
This is the incorrect way to use the validation plugin (I'm assuming you're using thisvalidation plugin). Instead, you just execute the validation()
method directly onto the form
element; the plugin takes care of the submit
event.
这是使用验证插件的错误方式(我假设您正在使用此验证插件)。相反,您只需validation()
直接在form
元素上执行该方法;该插件负责处理该submit
事件。
So, get rid of the click
event binding.
所以,摆脱click
事件绑定。
回答by mymotherland
Use form method form()
method with your click event
form()
在单击事件中使用表单方法方法