我有一个ASP.Net WebForms应用程序,我正在使用jQuery验证。提交表单有几个按钮,每个按钮在后端都有不同的选项。
我有一个自定义validateForm()
功能,我可以分配给所有按钮的OnClientClick
事件,但我希望有一个更优雅的解决方案,我不必专门给每个按钮按下OnClientClick
属性。
基本上,是否可以在提交asp按钮之前捕获$(form).submit()事件?不使用OnClientClick属性?
解决了:我的问题实际上并不是因为我无法抓住提交,而是因为按钮是<a>
链接而不是输入。我没有意识到这一点,并在家中试图从记忆中修复它。
以下任何解决方案都应该在上面的场景中使用实际的提交按钮
答案 0 :(得分:1)
只需将监听器附加到submit
事件:
$('form').on('submit', function (event) {
// Do whatever you need to do here ...
// You could also do `event.preventDefault();`,
// if you wanted to stop the submit.
});
答案 1 :(得分:-1)
您可以使用onsubmit
事件,当从任何按钮提交表单时,该事件将执行JavaScript。
<form id="form1" runat="server" onsubmit="return ValidationFunction();">
你的JS函数应该返回true
或false
作为
function ValidationFunction() {
// Your jQuery validation
if (isValide) {
return true;
}
else {
return false;
}
}
使用JQuery附加事件处理程序以形成提交的另一个选项
$(document).ready(function () { // << to make sure DOM is loaded
$('#form1').on('submit', function (e) {
e.preventDefault(); // << the default action of the event will not be triggered
var isValide = false;
if (isValide) {
alert('ok');
this.submit();
}
else {
alert('Not Valid');
}
});
});