下面代码演示了一个使用捕获事件的方式来控制表单的提交的例子:
<form id="f" action="javascript:alert('执行表单的提交动作');" onsubmit="alert('这里利用onsubmit来阻止表单的自动提交');return false">
<input type="text" />
<input type="submit" />
</form>
<script>
function func() {
alert('这里发现了表单要提交,并且在这里提交表单');
document.getElementById('f').submit();
}
var f = document.getElementById('f');
if(document.all) {
f.attachEvent("onsubmit",func); // 注意:这里用的是 onsubmit
} else {
f.addEventListener("submit",func,false); // 注意:这里用的是 submit
}
</script>
这样做的好处:
1. 支持js的时候可以采用ajax的方式提交表单,在不支持js的时候也能提交表单
2.
相关文章:
http://parkmy.javaeye.com/blog/431306
http://www.javaeye.com/topic/85881