【发布时间】:2018-08-09 12:16:01
【问题描述】:
我在 ASP.NET 中有一个带有此按钮的表单:
<asp:Button ID="btnNext"
runat="server"
CausesValidation="false"
Text="Submit Form" />
我使用 jQuery Validate 对此表单进行验证,如下所示:
jQuery(function() {
jQuery('#form1').validate({
rules: {
txtSerialNumber: {
required: true
}
},
messages: {
txtSerialNumber: {
required: "Please enter a serial number."
}
}
});
});
还有更多,但所有字段都相同。我已验证此验证码有效。
我也有一些 javascript 来调用验证代码,因为它以前不能工作(由于各种原因)。
jQuery('#btnNext').on("click", function () {
if (jQuery("#form1").valid()) {
jQuery(this).prop('disabled', true); // prevent multiple submits
return true;
} else {
return false;
}
});
编辑:当我注释掉禁用按钮的行时,表单会正确提交。因此,在页面回发之前禁用提交按钮似乎会导致页面不回发。
当我单击此按钮提交表单时,会调用上面的 javascript,但页面不会回发并提交。我一直在拔头发试图弄清楚这一点。是否有明显的原因表明它无法正常工作?我错过了什么?
【问题讨论】:
-
你在使用更新面板吗?
-
在哪里处理按钮的点击事件?它是一个服务器控件,因此您需要将 onclick 事件“绑定”到服务器端事件处理程序
-
@Schadensbegrenzer 该按钮在服务器端确实有一个单击处理程序,它可以执行许多其他操作。
-
@Gaurav 不,我没有使用更新面板
-
我没有在按钮上看到事件注册。另外,你不是通过附加客户端事件注册(jquery代码sn-p)来覆盖按钮的点击注册吗?
标签: javascript jquery asp.net forms