使用button标签时,是否必须定义type属性,或者只是具有语义?
<button>Click Me</button>
答案 0 :(得分:2)
不,您不必指定它,它默认为值submit
。
请参阅the HTML 4.x specification:
type (button|submit|reset) submit -- for use as form button --
^^^^^^ default value
与表示#REQUIRED而非提供默认值的表单的action属性进行比较。
action %URI; #REQUIRED -- server-side form handler --
答案 1 :(得分:1)
正如@ Quentin的回答所解释的那样,type
属性不是必需的,默认为submit
。 HTML5中没有对此进行任何更改。但情况稍微复杂一些。
如果元素出现在任何form
元素之外,则上述内容仍适用,但没有表单可供提交。 HTML5通过描述功能澄清了这一点,以便在没有“表单所有者”(包含form
元素或form
元素与button
元素明确关联时明确表示一个HTML5属性),没有任何动作 - 当然,除了编写脚本之外。
实际上,这意味着在form
元素之外,button
元素在功能上默认为type=button
。这意味着如果button
默认的type
元素更改其上下文(例如,包含在form
元素内),则其功能会发生变化。因此,为了清晰和安全,最好明确指定type
属性,例如<button type=button>
或<button type=submit>
。