我是新的 jQuery。我已经通过以下方式验证了我的表单(MVC 1.0 / C#):
<script type="text/javascript">
if (document.forms.length > 0) { document.forms[0].id = "PageForm"; document.forms[0].name = "PageForm"; }
$(document).ready(function() {
$("#PageForm").validate({
rules: {
SigP: { required: true }
},
messages: {
SigP: "<font color='red'><b>A Sig Value is required. </b></font>"
}
});
});
</script>
我还想隐藏提交按钮,以防止在控制器完成和重定向之前抽搐鼠标综合症导致重复输入(我正在使用 GPR 模式)。为此目的,以下工作:
<script type="text/javascript">
//
// prevent double-click on submit
//
jQuery('input[type=submit]').click(function() {
if (jQuery.data(this, 'clicked')) {
return false;
}
else {
jQuery.data(this, 'clicked', true);
return true;
}
});
</script>
但是,我无法让两者一起工作。具体来说,如果在单击提交按钮后验证失败(考虑到表单的工作方式,这种情况会发生),那么除非我进行浏览器刷新以重置“已单击”属性,否则我将无法再次提交表单。
除非表单验证,否则如何重写上面的第二种方法以不设置 clicked 属性?
谢谢。