2009-12-18 71 views
0

我正好寫:HTML:錯誤輸入好還是壞?

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

相反的:

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

我感到驚訝的是第一行產生不指定正確的類型 一個文本框。

如果第一行生成文本框,然後是低於線的任何使用:

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

這肯定是。我的意思是渲染引擎應該足夠聰明,以便拒絕任何不正確的輸入。這樣的事情總會造成混亂和問題。

這是怎麼發生的?
這是瀏覽器的錯誤還是別的?
或者這是錯誤的正確?

回答

7

HTML 4.01 spec

屬性定義

類型=文本|密碼|複選框|無線電|提交|復位|文件|隱藏|圖像|按鈕[CI] 該屬性指定要創建的控件的類型。此屬性的默認值是「文本」。

這樣看來,您的瀏覽器回落到默認值類型,如果它是無效的。這對我來說似乎是明智的行爲。

+0

Web瀏覽器旨在支持「差」HTML。 他們必須儘可能多地恢復錯誤。 – Arno 2009-12-18 14:19:39

2

如果type屬性無效,所有瀏覽器(我知道)都會降級到輸入type="text"

有些人甚至提倡使用它來爲您的優勢做好準備,以獲得更多類型的HTML 5。

例如,你可以這樣做:

<input type="date" ... 

這將仍然是一個普通的文本框,但事實type是不同的,你可以使用JavaScript/CSS來使它更可用通過增加一個datepicker或自動的東西。

然後,一旦HTML 5真的出現了,瀏覽器本身就能呈現一個特定於日期的自定義輸入小部件。

此功能的另一個用法是type="number",它也是HTML 5中的一種有效類型。使用javascript監視帶有類型編號的字段可以在用戶輸入的數據實際上不是數字時立即向用戶反饋。