在很多网站中常用单提交数据,由于表单提交的延迟,有时几秒或者更长,有些用户会多次点击提交按钮,从而导致服务器端代码的种种麻烦。
为了解决这个问题,我们可以绑定处理程序到表单的提交事件上,在提交按钮第一次点击之后禁止提交按钮。
Js代码
$( “form” ).submit( function (){
$(“:submit” , this ).attr( “disabled” , “disabled” );
});
在事件处理程序体内,用:submit选择器来获取表单内所有的提交按钮,并将disable特性值改为disabled(w3c官方推荐的特性设置)。请注意,建立匹配集的时候我们提供this的上下文值,this指针总是引用已绑定事件的页面元素。
补充:如果是bind事件,可以直接解除事件unbind()就行了。