【发布时间】:2013-03-04 04:24:46
【问题描述】:
在使用按钮标签的时候,type属性是必须要定义的,还是语义上才有?
<button>Click Me</button>
【问题讨论】:
在使用按钮标签的时候,type属性是必须要定义的,还是语义上才有?
<button>Click Me</button>
【问题讨论】:
正如@Quentin 的回答所解释的,type 属性不是必需的,它默认为submit。 HTML5 对此没有任何改变。但是,情况稍微复杂一些。
如果元素出现在任何form 元素之外,上述方法仍然适用,但没有要提交的表单。 HTML5 通过描述功能来澄清这一点,以便清楚地表明,如果没有“表单所有者”(封闭的 form 元素或与具有 HTML5 属性的 button 元素显式关联的 form 元素),则没有动作——当然,除非是用脚本编写的。
实际上,这意味着在form 元素之外,button 元素在功能上默认为type=button。这意味着,如果具有 type 的默认 button 元素更改其上下文(例如,被包装在 form 元素中),则其功能会更改。因此,为了清楚和安全起见,最好明确指定 type 属性,例如<button type=button> 或 <button type=submit>。
【讨论】:
不,您不必指定它,它默认为值submit。
type (button|submit|reset) submit -- for use as form button --
^^^^^^ default value
与显示 #REQUIRED 而不是给出默认值的表单的 action 属性进行比较。
action %URI; #REQUIRED -- server-side form handler --