我的MVC应用程序中有一个数据输入表单作为razor视图。此视图包含一些输入控件,验证器和提交按钮。 当用户点击“提交”按钮时,它会执行验证,如果其中任何一个失败,则用户提交方法将被终止。 当满足所有验证时,表单将被提交,但随着某些业务逻辑的执行,需要更多的时间。 现在我不希望用户在此期间允许点击提交按钮。因此,应禁用“提交”按钮,并在提交完成后重新启用。
我怎样才能做到这一点?我想我需要为此编写JQuery,但不确定,要处理哪个事件。
答案 0 :(得分:5)
没有看到HTML ...或javascript ...
$('form').submit(function(){
var $submit = $(this).find('input[type=submit]').prop('disabled', true);
$.ajax({
url: 'foo',
//... the rest...
complete: function(){
$submit.prop('disabled', false);
}
});
})
答案 1 :(得分:1)
尝试以下方法:
$("form").submit(function() {
var form = this;
setTimeout(function() {
$(':submit', form).attr('disabled', true);
}, 50)
});