我是否需要在提交按钮上指定type ="submit"?

Mar*_*ery 6 html browser forms specifications

以前,当我有一个带有单个提交按钮的表单时,我通常不会将该type="submit"属性放在那里.我从来没有观察到这会导致问题,并且认为"提交"是按钮的默认类型,我可以依赖这种行为.

然而,w3schools和MDN不同意我是否正确.

w3schools声称:

提示:始终指定<button>元素的type属性.不同的浏览器可以为<button>元素使用不同的默认类型.

MDN声称:

  • submit:...如果未指定属性,或者属性动态更改为空值或无效值,则这是默认值.

谁是对的,谁是错的 - 既符合规范,又符合真实的浏览器?

Bol*_*ock 7

MDN已经接近其文章底部的一些规范链接这证实了据称是正确的:默认的type一个的button元素submit.

W3C HTML 4.01:

type= submit|button|reset[CI]
此属性声明按钮的类型.可能的值:

  • submit:创建一个提交按钮.这是默认值.
  • reset: 创建重置按钮.
  • button: 创建一个按钮.

W3C HTML5:

type属性控制按钮激活时的行为.它是枚举属性.下表列出了属性的关键字和状态 - 左列中的关键字映射到与关键字位于同一行的第二列中的单元格中的状态.

Keyword | State         | Brief description
--------+---------------+------------------
submit  | Submit Button | Submits the form.
reset   | Reset Button  | Resets the form.
button  | Button        | Does nothing. 
Run Code Online (Sandbox Code Playgroud)

缺失值默认为提交按钮状态.

W3Schools所说的是,您应该始终指定属性,以确保跨浏览器的行为尽可能一致.这并不意味着不能合法地省略该属性.

  • 是的,因为很明显我甚至无法解释W3Schools所做的无害陈述,而不暗示我支持他们. (2认同)