表单onsubmit与提交按钮onclick

mpl*_*jan 13 javascript onclick onsubmit

UPDATE 从 @BrendanEich

提交的@mplungjan onclick就是一个按钮; 表格onsubmit显然更好.


哪个是使用提交按钮的onclick来确定是否应该提交表单的原因?

我坚信这一点

  1. 在提交之前执行某些操作并在发生错误时取消提交,表单的onsubmit事件显然是放置它的地方
  2. 如果您使用提交按钮的onclick并稍后决定使用type ="image",则事件处理程序将在许多浏览器中失败
  3. 如果将提交更改为按钮,则还必须向onclick事件处理程序添加提交.

我正在寻找有理由倾向于在表单的onsubmit上使用提交按钮的onclick事件.

更新:请注意,我个人非常了解表单提交和验证方面的许多问题.
例如,通过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>
Run Code Online (Sandbox Code Playgroud)

如果你在我的小提琴中点击输入,IE也不会触发onclick


历史:

在这里进行讨论

没有被禁用,html按钮无法点击

我非常不喜欢使用任何提交按钮的onclick,因为很多1年后看到它在许多浏览器中都不起作用,主要是旧版本的IE.我列举了一些显而易见的原因,但我相信他们不会说服强硬的用户.

SO的社区可以帮助我把这个钉在墙上,就像钉在学校里一样吗?也可以随意评论如何以可接受的方式表达这个问题.


1:自NS2.x和IE3.02以来的日子

Mad*_*iha 14

表单onsubmit是一种更正确的方法,原因很简单,表单也可以使用<ENTER>键提交,而不仅仅是单击提交按钮.