【发布时间】:2015-08-20 08:04:28
【问题描述】:
我必须使用 ajax 帖子的单击事件来实现客户端验证。我按照以下网址:
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
}
});
但这里的问题是,如果存在无效数据,验证是否有效。但是,如果我也提供正确的输入,页面正在重新加载,结果是空白页面。
我尝试将 evt.preventDefault() 替换为 return false。但是那里的验证不起作用。谁能帮我解决这个问题。
问题是如果没有选择下拉菜单,验证消息就会到来。但是如果我输入正确,则不会显示输出。页面正在刷新。
我猜问题是 evt.preventDefault() 。但是没有这个验证是行不通的
【问题讨论】:
-
只是想知道;这个
buttonId,是一个普通的HTML按钮还是一个输入类型submit元素?如果它是提交类型,那么是的,您的表单将以 HTML 表单方式提交,因此重新加载页面 -
return false;必须是脚本的最后一行 -
尽可能显示你的ajax调用!
-
preventDefault 应该在 else 部分吧?
-
@vijay,是的,它是一个输入类型提交
标签: javascript jquery ajax validation asp.net-mvc-5