【发布时间】:2010-11-01 08:02:51
【问题描述】:
我试图弄清楚为什么这个 JavaScript 不会阻止表单被提交:
<form action="http://www.example.com" id="form">
<input type="text" />
<input type="submit" />
</form>
<script>
var code = function () {
return false;
};
var element = window.document.getElementById("form");
if (element.addEventListener) {
element.addEventListener("submit", code, false);
}
</script>
除非我在表单元素中添加以下 onsubmit 属性:
<form action="http://www.example.com" id="form" onsubmit="return false">
<input type="text" />
<input type="submit" />
</form>
<script>
var code = function () {
return false;
};
var element = window.document.getElementById("form");
if (element.addEventListener) {
element.addEventListener("submit", code, false);
}
</script>
似乎只有 addEventListener 方法就可以解决问题。有什么想法吗?我在 Mac 上,在 Safari、Firefox 和 Opera 上遇到相同的结果。谢谢。
【问题讨论】:
标签: javascript forms addeventlistener onsubmit