NeatUpload上传控件与js验证冲突

原因:NeatUpload控件上传文件提交表单时会重写WebForm_OnSubmit()方法,onSubmit触发时返回值永远为true,导致所有jquery验证无效

解决:在控件提交时对jquery进行验证,代码如下

1 <asp:Button ID="Button1" runat="server" Text="提交" OnClientClick="return CheckSubmitForm();" />
2     function CheckSubmitForm() {
3         //判断jquery验证
4         if (!$(".formClass").valid()) {
5             return false;
6         }
7         return true;
8     }

-----------------------------------------------------已注释--------------------------------------------------------

解决:在页面最下方重写WebForm_OnSubmit()方法,函数中判断验证是否通过

注意:IE下还是有问题,未解决

 1 //以为NeatUpload控件提交表单时会重写WebForm_OnSubmit方法,无论验证是否通过都会返回true
 2     //所以只能在页面对下方重写WebForm_OnSubmit方法,确保验证正常运行
 3     function WebForm_OnSubmit() {
 4         //服务器验证控件,不通过返回false
 5         if (typeof (ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) {
 6             return false;
 7         }
 8         //jquery.validate的验证
 9         else if (!$(".formClass").valid()) {
10             return false;
11         }
12         //通过验证提交表单,同时允许NeatUpload上传文件
13         NeatUpload_OnSubmitForm_aspnetForm();
14         return true;
15     }
posted @ 2012-09-18 10:15  鸿bi  阅读(203)  评论(0)    收藏  举报