【发布时间】:2011-08-02 06:40:39
【问题描述】:
更新 来自@BrendanEich
@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
历史:
在这里讨论
html button not clickable without being disabled
我非常不喜欢使用提交按钮的 onclick 来处理任何事情,因为 很多1 年看到这在许多浏览器中不起作用,主要是较旧的IE版本。 我列出了一些明显的原因,但我相信他们不会说服顽固的用户。
SO 的社区可以帮我把它钉在墙上,就像他们钉 w3schools 一样吗? 也请随时向 cmets 提供我如何以可接受的方式表达这个问题。
1:从 NS2.x 和 IE3.02 开始
【问题讨论】:
-
看起来更像是一个讨论而不是一个问题......小心!哦,我同意使用提交事件。 :-)
-
我同意使用表单的 onsubmit - 这也包括您通过输入键而不是提交按钮提交。
-
不,保罗,它不是重复的。我知道区别。我正在寻找关于根本不使用 onclick 的好论据。
-
感谢您的提琴
标签: javascript onclick onsubmit