HTML:错误打字好还是坏?

时间:2009-12-18 13:47:07

标签: html

我碰巧写了这个:

<input type="hdnStatus" name="hidden" value="1" />

而不是:

<input type="hidden" name="hdnStatus" value="1" />

我很惊讶第一行生成了一个没有正确类型的文本框 指定。

如果第一行生成文本框,则以下是任何用途的行:

<input type="text" name="tbox" value="" />

绝对是。我的意思是渲染引擎应该足够聪明 拒绝任何错误的输入。这些事情总会造成混乱和问题。

这是怎么发生的?
这是浏览器的错还是其他什么?
或者这是错误的正确吗?

2 个答案:

答案 0 :(得分:7)

来自HTML 4.01 spec

属性定义

type = text | password | checkbox | radio | submit | reset | file | hidden | image | button [CI]     此属性指定要创建的控件的类型。此属性的默认值为“text”。

因此,如果类型无效,您的浏览器似乎会回退到类型的默认值。这对我来说似乎是明智的行为。

答案 1 :(得分:2)

如果type属性无效,则所有浏览器(我都知道)将降级为type="text"的输入。

有些人甚至提倡利用这个优势为HTML 5做好准备,HTML 5有更多类型。

例如你可以这样做:

<input type="date" ... 

仍然是一个常规文本框,但type是不同的,你可以使用javascript / css通过自动添加日期选择器等来使其更有用。

然后,一旦HTML 5实际出现,浏览器本身就能够呈现特定于日期的自定义输入窗口小部件。

此功能的另一个用途是type="number",它也是HTML 5中的有效类型。使用javascript监视类型编号的字段,如果他们输入的数据实际上不是a,则可以立即向用户反馈号。