我必须使用针对ajax帖子的click事件实现客户端验证。我跟着下面的网址:
Call MVC 3 Client Side Validation Manually for ajax posts
我试过用这个:
$('#buttonId').click(function(evt) {
evt.preventDefault();
var $form = $('form');
if($form.valid()) {
//Ajax call here
}
});
但现在的问题是,如果存在无效数据,验证工作正常。但是,如果我也提供适当的输入,页面正在重新加载,结果是空白页面。
我尝试用return false替换evt.preventDefault()。但那里的验证不起作用。任何人都可以帮我解决这个问题。
问题是如果没有选择下拉,则验证消息即将到来。但如果我给出正确的输入,则不显示输出。页面正在刷新。
我猜问题是evt.preventDefault()
。但是如果没有这个
答案 0 :(得分:1)
不要点击按钮,我建议使用以下内容。如果表单有效,' submitHanderl 是一个回调函数。
$("form").validate({
submitHandler: function(form) {
//Ajax call here
}
});
答案 1 :(得分:0)
另外,为了将来参考,如果添加type="button"
,它会将按钮视为按钮,并且不会提交点击。与执行event.preventDefault()
或<a>
代码的return false;