我正在表单上执行一些自定义js验证,通过提交表单
触发 $("form").submit(function (e) {
var validates = true;
// validation code goes in here
if (!validates) {
e.preventDefault();
e.stopImmediatePropagation();
return false;
}
})
我所包含的用于停止提交事件的所有行都不会阻止.NET控件回发。是否有某种方法(使用js或在updatepanel控件中设置属性)停止回发?
答案 0 :(得分:2)
我发现可靠的方法是使用Sys.WebForms.PageRequestManager类:
Sys.WebForms.PageRequestManager.getInstance()
.add_initializeRequest(function (sender, args) {
if (!function_to_check_form_is_valid(sender, args))
args.set_cancel(true);
}
});
答案 1 :(得分:0)
最简单的方法是捕获客户端点击提交表单的内容。
答案 2 :(得分:0)
您是否有任何理由进行客户端验证而不是服务器端?如果是我,我会写一个自定义的asp.net验证器,然后在发送更新之前检查该验证器。更新面板仍然会回发,但只要您检查验证器,就不会创建任何内容。