将输入默认为一种文本?

时间:2015-11-10 18:35:10

标签: javascript html

所以我有一个相当随意的问题但是我们走了。我正在使用Javascript为插件制作一些技巧。假设我有一个如下所示的输入:

<input type='cc' id='cc' class='' />

显然类型cc不是有效的输入类型。 html是否会自动将未知类型默认为text,还是会产生不利影响?

3 个答案:

答案 0 :(得分:7)

直接从W3.org

报价
  

未指定type属性的input元素表示与input element with its type attribute set to "text"相同的内容。

enter image description here

答案 1 :(得分:2)

如果输入类型的值未知或浏览器不支持,则默认为&#34; text&#34;。

答案 2 :(得分:1)

tl; dr:如果您为枚举属性传递了无效值,则会使用无效值默认值。如果不存在,则会使用缺失值默认

输入type属性未定义无效值默认值,但它定义了缺失值默认值,即text

因此,使用无效值将默认为text

来自WHATWG HTML规范:

  

2.4.3 Keywords and enumerated attributes

     

某些属性被定义为使用一组有限的关键字。这些属性称为枚举属性。 [...]此外,可以给出两种默认状态。第一个是无效值默认值,第二个是默认值

     

[...]

     

如果属性值与给定关键字都不匹配,但属性具有无效值默认值,则该属性表示该状态。否则,如果属性值与任何关键字都不匹配,但是定义了缺失值默认状态,那么 是属性所代表的状态。否则,没有默认值,无效值表示没有表示状态。

<input>指定缺失值默认,即text

  

缺失值默认是文本状态。