javascript如何监听 form.submit()事件

众所周知,动态表单提交(form.submit())无法触发onsubmit事件。

如果想要想要捕捉到form.submit(),在此提供两种解决方案


第一种:

在form.submit()方法之前加上form.fireEvent("onsubmit");关于fireEvent()方法请参考http://topic.csdn.net/u/20100430/09/eafd10d3-0329-4e34-a30f-8102c724816f.html

form.fireEvent("onsubmit")方法用于触发在form标签上定义的οnsubmit="方法名"事件

所以要在表单动态提交时做什么处理只要写在οnsubmit=“要做的事情”里即可

下面举个例子,实现功能为在表单提交时屏蔽所有的超链接按钮

js

/************************* 避免表单重复提交 ********************************/

function doSubmit(){

document.getElementById("form1").fireEvent("onsubmit");

document.getElmentById("form1").submit();

}

//绑定表单提交事件

function newsubmit() {
$("#form1").bind("submit",function(){listenSubmit();});
}

//表单提交时执行函数

function listenSubmit(){
$("body a").each(function(){
$(this).attr("disabled","true");
});

$("body a:hidden").each(function(){
$(this).attr("disabled","true");
});

}


jQuery(function($) {
newsubmit();
});


第二种:

提交表单用jquery提供的提交方法

$("#formId").sumit();

用此方法 表单提交 同样可以被监听到


除了此方法为好像还有一种通过prototype来重新定义submit事件但是没试成功

希望高手指教
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值