2013-05-15 41 views
2

兩個問題如何編寫輸入的值類型=「提交」],用於驗證

  1. 是什麼編碼的表單元素值的字符罕見的最好方法?
  2. 以下示例中的分號是否導致驗證錯誤或是其他內容?

HTML

<input type="submit" value="&#61442;"> 

驗證錯誤:

Document uses the Unicode Private Use Area(s), 
which should not be used in publicly exchanged documents. (Charmod C073) 

該元素的值導致錯誤。我需要重新編碼這個十進制值的東西,將呈現我的字形,也驗證。

回答

0

What is the best way to encode the rarer characters for form element values?

Plain UTF-8。它生成最可讀的源代碼並使用最少的字節。

Is the semi-colon in the example below causing the validation error or is it something else?

不,這是人物的選擇。它不是unicode標準的一部分。有關更多詳細信息,請參閱wikipedia

+0

Thx。有一些解決方法嗎?該字符用於圖標字體。我需要找到一些方法可以繼續使用這個角色,在一個表單中使用它並驗證它? – Timidfriendly

+0

我希望不是。當我嘗試使用它時,它呈現爲不可打印的字符,所以我假定您依賴於使用通過CSS應用的特定字體的瀏覽器。這是一個可怕的想法(閱讀[this](http://en.wikipedia.org/wiki/Progressive_enhancement))。如果你想在你的提交按鈕中有一個圖標,那麼使用''。 – Quentin

+0

好Thx昆汀。我對漸進式增強很熟悉,並不是只依靠角色來傳達這個功能,但你答案的完整性很好。 – Timidfriendly

3
  1. 這並不重要。十進制字符引用和十六進制字符引用都可以正常工作(沒有真正的區別)。 UTF-8編碼的文檔中使用的字符作爲這樣可能使代碼的可讀性,雖然則編碼必須是UTF-8和必須聲明爲UTF-8。在私密使用代碼點的情況下,當您查看源代碼時,程序可能會將其顯示爲任何內容。私用代碼點沒有定義的含義;任何一個角色分配給這樣的代碼點都取決於相關方之間的協議。而你最喜歡的代碼編輯器幾乎沒有這樣的協議。

  2. 號,分號是正確的。警告(不是錯誤消息)不是基於任何HTML規範或草案,而是基於W3C推薦標準CharMod(World Wide Web 1.0:基礎知識的字符模型)。該警告是指項目C073有:「公開互換的內容不應該在私人使用範圍使用碼點。」

在實際方面,只要不使用特定的,私下編碼字體,代碼失敗,例如因爲瀏覽器已被設置爲忽略網頁上建議的字體或由於字體無法加載。因此最好使用的圖像時,用適當的alt文本,即使用<input type=image><button>含有<img>

+1

如果圖像加載失敗,用戶禁用圖像(如我在手機上節省昂貴的帶寬),或者盲人訪問您的網站。此外,圖像大於字體,並且(因爲SVG支持正在下降)也不會縮放。社交圖標鏈接使用字體已成爲今天的事實標準。規格需要更新以允許此用途。 – 2016-05-24 12:11:25

相關問題