0

使用按钮标签时,是否必须定义 type 属性,还是仅具有语义?

<button>Click Me</button>
4

2 回答 2

2

不,您不必指定它,它默认为 value submit

请参阅HTML 4.x 规范

type        (button|submit|reset) submit -- for use as form button --
                                  ^^^^^^ default value

与显示 #REQUIRED 而不是给出默认值的表单的 action 属性进行比较。

action      %URI;          #REQUIRED -- server-side form handler --
于 2013-03-15T12:38:06.850 回答
1

正如@Quentin 的回答所解释的,该type属性不是必需的,默认为submit. HTML5 对此没有任何改变。但是,情况稍微复杂一些。

如果元素出现在任何form元素之外,上述仍然适用,但没有要提交的表单。HTML5 通过描述功能来澄清这一点,以便清楚地表明,如果没有“表单所有者”(封闭form元素或与具有 HTML5 属性的form元素显式关联的button元素),则没有任何动作——除非使用脚本编程, 当然。

实际上,这意味着在form元素之外,button元素默认为type=button功能性的。这意味着如果一个默认的button元素type改变了它的上下文(例如,被包裹在一个form元素中),它的功能也会改变。因此,为了清楚和安全起见,最好明确指定type属性,例如<button type=button>or <button type=submit>

于 2013-03-15T13:05:05.460 回答