我正在構建一個HTML頁面,以便在移動Safari [和其他平臺]中查看。該頁面允許用戶指定幾個開始和結束時間。他們必須輸入至少兩次,可能更多取決於他們的情況。強制使用數字鍵盤,但允許標點符號:HTML5,移動Safari
我希望用戶能夠輸入他們的倍使用數字-SHIFT模式鍵盤數字和標點符號,即用戶將看到的字段是這樣的:
,讓對方數字-SHIFT鍵盤,當他們集中進入該領域:
將不起作用:
<input type="time">
(和相關的日期時間類型)不是一個選項。從HCI的角度來看,滾動輪是不可接受的,特別是對於重複輸入。
<input type="number">
起初做對了。它以數字SHIFT模式觸發鍵盤,即數字&默認情況下是可見的。但是當您退出該領域時,移動Safari會去掉標點符號(即冒號)。我嘗試使用novalidate
關閉表單中的驗證,但那不起作用。
<input type="text" pattern="[0-9]*">
觸發電話鍵盤無法輸入冒號字符。
我可能只需要PATTERN屬性中的一個不同的RegExp,但我嘗試過的每一個都會觸發正常的Alpha鍵盤,用戶必須按一個鍵才能進入數字SHIFT鍵盤。
任何人都可以告訴我如何強制鍵入數字SHIFT顯示,而不觸發用戶的輸入嚴苛的驗證規則?
這很有幫助,謝謝。拆分成幾個不同的字段(每個字段都是數字)可能比不必糾纏鍵盤類型更好,因爲似乎不可能將設備「默認爲此鍵盤」。不過,從HCI/Fitts的角度來看,日期選擇器通常仍然很殘酷。 : - / – ElBel