Jquery Validation插件无法在Chrome浏览器中form.submit()的解决方法
本文导语: 问题: Jquery Validation验证插件中的form.submit()方法,在Chrome浏览器中提交Form无效。 解决方法: 将 form.submit() 修改为 __doPostBack('Button3','');。 例如: 代码示例: $("#").click(function() { //init validate $("#form1").validate({ submitHandle...
问题:
Jquery Validation验证插件中的form.submit()方法,在Chrome浏览器中提交Form无效。
解决方法:
将 form.submit() 修改为 __doPostBack('Button3','');。
例如:
//init validate
$("#form1").validate({
submitHandler: function(form) {
$(form).find("#").attr("disabled",
true).attr("value", $("#").val() + "...");
//form.submit();
//将原有的form.submit()改为下面代码
__doPostBack('Button3', '');
},
rules: {
Text1: {
required: true
}
}
}
});
备注:
上面的Button3按钮是asp.net Button控件,点击会进行提交表单执行服务器端事件。
而asp.net(带有服务器端form)的页面会在客户端自动生成如下的代码:
说明:
其中eventTarget 和eventArgument,是两个就是用来存储在回送的时候获取是哪个控件触发了回送,并且带了什么参数。
总之,调用__doPostBack函数可以实现客户端控件调用服务器端控件的响应。
或者是在javascript里面调用.net的服务器控件事件。
因此,form.submit()无效时,修改为__doPostBack('Button3','')以进行Form表单的提交即可。
方法总是有的,多动脑,多动手,慢慢办法就来了。