为什么<输入类型=“按钮”>提交表单

Why is <input type="button"> submitting a form?

本文关键字:提交 按钮 表单 输入 类型 为什么      更新时间:2023-09-26
<form name="callEventForm" method="post" action="/PDC/callevent.do">
     ...
     <input type="button" value="Save" name="addCallEvent" id="addCallEvent" onclick="alert('You clicked me!')"/>
     ...
 </form>

单击此"保存"按钮时,将提交表单,而不是显示警报。我被引导相信type="button"会导致表单在点击时无法提交。

更改:

onclick="alert('You clicked me!')"

自:

onclick="alert('You clicked me!');return false;"

我讨厌回答自己的问题,但这是一个奇怪的问题。有一个 ajax:updateField 标记覆盖了按钮的 onclick 事件。更改 ajax:updateField 的源事件允许我建立的 onclick 事件适当地触发。我知道根据我发布的代码,任何人都不可能发现这一点,但页面的其余部分是太多的代码,我不想让人们涉足它。