【发布时间】:2015-02-22 15:28:25
【问题描述】:
我已经为问题http://jsfiddle.net/20k4ur8o/准备了这个演示
正如您所看到的,当您尝试通过输入提交表单时,它会停止,但是当您单击按钮时,表单会提交。如何在调用.submit() 时阻止表单提交而不覆盖函数的默认行为,因为我还需要在调用它时保持其他提交侦听器处于活动状态?
HTML
<form action=test id=form>
<input type=submit>
</form>
<button id=submit>Submit</button>
JS
document.getElementById('form').addEventListener('submit', function (e) {
e.preventDefault();
alert('stopped');
}, false);
document.getElementById('submit').onclick = function () {
document.getElementById('form').submit();
}
【问题讨论】:
-
什么意思?还有你到底是怎么发四字评论的O.O
-
如果有人想在表格上打电话给
.submit(),显然他们想提交,你为什么要阻止他们?你正在创造一个竞争条件。至于评论,关于这个网站有很多你不知道的事情:) -
我真的不想详细介绍这个,但是,你自己带来的!我有一个脚本,它使用隐藏表单来提交来自整个页面输入的请求。即我有 cmets,而不是到处都有表单,我只是将 textareas 映射到 1 个表单,因为您一次只能发送 1 条评论,我认为这不是问题。但是,我有另一个脚本可以拦截表单提交并执行其他一些操作,然后通过另一个表单提交数据。除了 hacky 之外,它还有助于对抗垃圾邮件机器人。无论如何这就是为什么
-
@php_nub_qq 看到这个帖子:stackoverflow.com/questions/24248576/…
标签: javascript html forms