更新 来自@BrendanEich </p>
@mplungjan onclick 提交只是不属于按钮;提交表单显然更好。
使用提交按钮的 onclick 来确定是否应该提交表单的原因是什么?
我坚信
- 在提交之前执行某些操作并在出错时取消提交,表单的 onsubmit 事件是放置它的明显位置
- 如果您使用提交按钮的 onclick 并稍后决定使用 type="image" 事件处理程序将在许多浏览器中失败
- 如果将提交更改为按钮,则还必须将提交添加到 onclick 事件处理程序。
我正在寻找强有力的理由来更喜欢使用提交按钮的 onclick 事件而不是表单的 onsubmit。
更新:请注意,我个人非常了解有关表单提交和验证的许多问题。
例如通过javascript提交不会触发onsubmit http://jsfiddle.net/mplungjan/3A4Ha/
<form onsubmit="alert('onSubmit called')">
<input type="text" value="This will submit on enter but in IE the onclick is not triggered" style="width:100%"/><br/>
<input type="submit" onclick="alert('Clicked')" />
</form><br />
<a href="#" onclick="alert('Submitting by script'); return false">Submit by script will not trigger onsubmit</a>
此外,如果您在我的小提琴中按回车键,IE 也不会触发 onclick
历史:
在这里进行了讨论
我非常不喜欢使用任何东西的提交按钮的onclick,因为多年来看到这在许多浏览器中不起作用,主要是旧版本的 IE。我列出了一些明显的原因,但我相信他们不会说服硬化的用户。
SO 的社区可以帮我把这个钉在墙上,就像他们钉 w3schools 一样吗?也可以随意就我如何以可接受的方式表达这个问题发表评论。
1:从 NS2.x 和 IE3.02 开始