0

我的代码就像这样简单

$(document).ready(function(){
   $('#somebutton').click(function(){
           $('#someformid').submit();
           return false;
    });

});

在此表单提交期间,通常页面将等待 1 或 2 秒加载,此时用户可以再次单击“某些按钮”,表单将再次提交。我的问题是如何锁定浏览器或禁用表单如果表单提交过程正在进行,则提交?

PS somebutton 是一个图像

4

3 回答 3

4

您可以简单地禁用按钮在处理时单击。

$(document).ready(function(){
   $('#somebutton').click(function(){
           $('#someformid').submit();
           $(this).attr('disabled','disabled');
    });

});

或者你可以使用e.preventDefault();

$(document).ready(function(e){
       $('#somebutton').click(function(){
               $('#someformid').submit();
               e.preventDefault();
        });

    });
于 2012-07-06T06:41:19.543 回答
4

您可以使用.one,它使处理程序最多执行一次。

   $('#somebutton').one('click', function(){
       $('#someformid').submit();
       return false;
   });
于 2012-07-06T06:42:26.153 回答
1

将 attr disabled 添加到您的按钮

编辑:取消绑定点击事件。

$(document).ready(function(){
$('#somebutton').click(function(){
        $(this).unbind('click');
        $('#someformid').submit();
        return false;     
});  
}); 
于 2012-07-06T06:44:25.747 回答