2011-05-17 136 views
4

我寫的驗證腳本從輸入標記中獲取名稱屬性,並在需要輸入但未填寫時將其放入警報中。 EX:在html標記的名稱屬性中使用空格

<input type="text" name="dateRequested" class="required" /> 

因此,如果這不是由用戶填寫,他們會看到一個警告說'dateRequested'是必填字段。沒有空間看起來很醜,所以,我想知道是否有可能在名稱屬性中有一個空格....例如:name =「Date Requested」。如果這是可能的,這是不好的做法嗎?

回答

12

是的,這是可能的。 (名稱屬性被定義爲包含CDATA,它幾乎是任何你喜歡的*)

不,這是不錯的做法。那麼,不是可怕的做法。它可能會在稍後回來咬你。

但是...我會通過獲取輸入的id,具有匹配for屬性找到<label>,並使用該文本內容接近這一點。標籤是專爲人類友好標籤設計的,名稱不是。 (使用jQuery(而不是測試)懶惰:$('label[for="' + $(this).attr('id') + '"]').text()

腳註:*直觀地反擊有一個名稱令牌,它不是名稱屬性需要的,但它是什麼id屬性使用。還有一個ID標記(id屬性不需要,因爲它需要一個NAME標記)。

+1

+1爲'label'。使用name屬性是不可持續的。如果您的字段名稱爲「Children <3 yrs。old」,那麼您的代碼可能會變得非常難看。是的,尷尬和不可能,但是這樣的事情可能會發生。 – 2011-05-17 16:38:06