2011-05-27 97 views
2

我需要爲移動網站創建一個表單,用戶可以在該表單中輸入帶有小數點標記(例如5.3)的號碼。如何防止Chrome格式化HTML5格式號碼

爲了讓訪問者更容易輸入數字,我想迫使智能手機在屏幕上顯示用戶最有可能進入的字符。

可以通過添加HTML5 type="number"輸入類型來顯示屏幕鍵盤上的數字。

不幸的是,谷歌瀏覽器然後開始驗證輸入,並只允許輸入整數。所以用戶在屏幕鍵盤上有一個數字,但不能輸入他需要輸入的數字。

如何顯示屏幕鍵盤上的數字,並仍允許使用Google Chrome查看網站的用戶輸入帶有十進制標記的數字?

回答

4

創建領域如下:

<input type="number" step="0.1" /> 

這將允許Chrome驗證正確,不干擾。默認情況下,如果您沒有提供步驟值,則它是1,但它可以是any positive floating value

在Chrome 10,12中使用HTML5和XHTML文檔類型進行了測試(均爲正常工作)。 HTML代碼示例:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Test</title> 
    </head> 
    <body> 
     <form> 
      <input type="number" step="0.1" /> 
     </form> 
    </body> 
<!-- doctypes 
html5: <!DOCTYPE html> 
html4: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
xtml: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
--> 
</html> 
+0

這對我來說不適用鉻13 – 2011-09-14 14:47:41

+0

由於您的個人情況而降低投票率嗎?這在我目前使用的Chrome版本中有效,這是HTML5規範,它是一項功能[由google報告](http://www.chromium.org/developers/web-platform-status/forms)...你可能需要使用HTML5文檔類型('<!DOCTYPE html>')(而不是XHTML或HTML4) – Rudu 2011-09-14 16:59:41

+0

它對我來說似乎有點苛刻,但據我瞭解,這就是你所做的。無論如何,感謝您更新您的答案,我已經標記爲有幫助的,我也進一步調查 - 似乎如果您有step =「0.1」和value =「0.99」值驗證在您提交時啓動,所以您需要至少與數值小數點後面的數字一樣多 - 就我而言,我不想步驟,我不想驗證,我希望數字鍵盤 – 2011-09-15 11:58:09