输入类型="提交"和按钮标签是可互换的吗?或者如果有任何区别,那么什么时候使用输入类型=“提交”和什么时候按钮?

如果没有区别,为什么我们有两个标签是为了同样的目的?


当前回答

我知道这是一个老问题,但我在mozilla.org上找到了这个问题,并认为它适用。

按钮可以有三种类型:提交、重置或按钮。点击一个 控件定义的网页发送表单数据 元素的Action属性。点击重置按钮 立即将所有表单小部件重置为默认值。从一个 从用户体验的角度来看,这是一种糟糕的做法。点击按钮 按钮做……没有什么!这听起来很傻,但却非常有用 用JavaScript构建自定义按钮。

https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms/My_first_HTML_form And_a_ <按钮> _to_finish

其他回答

使用<button>标签代替<input type="button"..>。这是bootstrap 3中建议的做法。

http://getbootstrap.com/css/#buttons-tags

“跨浏览器的渲染 作为最佳实践,我们强烈建议使用<button>元素 尽可能确保匹配的跨浏览器呈现。 除此之外,还有一个Firefox漏洞阻止我们 设置基于<input>的按钮的行高,使它们不为 完全匹配Firefox上其他按钮的高度。”

如果你谈论的是<input type=button>,它不会自动提交表单

如果您谈论的是<button>标记,则该标记较新,不会在所有浏览器中自动提交。

底线,如果你想要表单在所有浏览器中点击提交,使用<input type="submit">

当使用input type="submit"和button时,有一件事需要考虑。使用input type="submit",你不能在输入上使用CSS伪元素,但可以在按钮上使用!

这就是在样式化方面使用按钮元素而不是输入元素的原因之一。

我知道这是一个老问题,但我在mozilla.org上找到了这个问题,并认为它适用。

按钮可以有三种类型:提交、重置或按钮。点击一个 控件定义的网页发送表单数据 元素的Action属性。点击重置按钮 立即将所有表单小部件重置为默认值。从一个 从用户体验的角度来看,这是一种糟糕的做法。点击按钮 按钮做……没有什么!这听起来很傻,但却非常有用 用JavaScript构建自定义按钮。

https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms/My_first_HTML_form And_a_ <按钮> _to_finish

<input type="button" />只是一个按钮,本身不会做任何事情。 <input type="submit" />,在表单元素中,当单击时将提交表单。

另一个有用的“特殊”按钮是<input type="reset" />,它将清除表单。