我碰巧写了这个:
<input type="hdnStatus" name="hidden" value="1" />
而不是:
<input type="hidden" name="hdnStatus" value="1" />
我很惊讶第一行生成了一个没有正确类型的文本框 指定。
如果第一行生成文本框,则以下是任何用途的行:
<input type="text" name="tbox" value="" />
绝对是。我的意思是渲染引擎应该足够聪明 拒绝任何错误的输入。这些事情总会造成混乱和问题。
这是怎么发生的?
这是浏览器的错还是其他什么?
或者这是错误的正确吗?
答案 0 :(得分:7)
属性定义
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,则可以立即向用户反馈号。