在查看大多数站点(包括 SO)时,大多数站点使用:
<input type="button" />
代替:
<button></button>
<button>
是否存在兼容性问题,看到它没有被广泛使用? 就像旁注一样, <button>
将隐式提交,如果你想在没有提交的情况下使用表单中的按钮,这可能会导致问题。因此,使用<input type="button">
(或<button type="button">
)的另一个原因
编辑 - 更多详情
如果没有类型, button
隐式接收submit
类型 。表单中有多少提交按钮或输入无关紧要,其中任何一个显式或隐式输入为提交,单击时,将提交表单。
按钮有 3 种支持的类型
submit || "submits the form when clicked (default)"
reset || "resets the fields in the form when clicked"
button || "clickable, but without any event handler until one is assigned"
这篇文章似乎提供了很好的差异概述。
从页面:
使用 BUTTON 元素创建的按钮功能就像使用 INPUT 元素创建的按钮一样,但它们提供了更丰富的渲染可能性:BUTTON 元素可能包含内容。例如,包含图像的 BUTTON 元素的功能类似于并且可能类似于其类型设置为 “image” 的 INPUT 元素,但 BUTTON 元素类型允许内容。
按钮元素 - W3C