为什么用button标签?
在做订单付款功能时,偶尔遇到一些前端模版里的“付款”按钮使用的button标签,在直接点击后无法提交表单数据。原因在<button>
标签里有type="button"
一项,因为<input>
标签里也有type="button"
属性,故而没有注意到。现在来看看为什么使用button标签:
<input>
和<button>
都能够提交表单,但是<button>
能够在标签中嵌入其他的标签,如:
<button><i>hello</i>world</button>
甚至你可以插入<img>
,这个可比<input>
里单纯使用value属性要强大。
button标签的3种tpye
回到当时遇到的问题,点击<button>
标签并不能提交。答案在w3school的”HTML <button>
标签的 type 属性”一页里可以找到:http://www.w3school.com.cn/tags/att_button_type.asp
type属性3种不同的值对应的功能描述如下:
值 | 描述 |
---|---|
submit | 该按钮是提交按钮(除了 Internet Explorer,该值是其他浏览器的默认值)。 |
button | 该按钮是可点击的按钮(Internet Explorer 的默认值)。 |
reset | 该按钮是重置按钮(清除表单数据)。 |
注意:该页中有一段不能忽视的提示。请始终为按钮规定 type 属性。Internet Explorer 的默认类型是 “button”,而其他浏览器中(包括 W3C 规范)的默认值是 “submit”。