如何获取表单处理事件

How to get a form processing event

本文关键字:表单 处理事件 获取 何获取      更新时间:2023-09-26

我的代码就像这个一样简单

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

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

p.S somebutton是一个图像

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

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

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

$(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();
        });
    });

将禁用的属性添加到按钮

编辑:单击时取消绑定单击事件。

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