我有一個輸入fieild我想使用日期選擇器。我使用的是jQuery日期選擇器,然後我意識到它在iphone上運行得並不順利,並且我將其更改爲使用ios的本機日期選擇器的html5 input type =「date」。但是,這也適用於其他瀏覽器?最好的辦法是做到這一點,因爲我不想讓jquery ui日期選擇器和ios的自然日期選擇器都顯示在iphone上。html 5輸入日期類型足以在所有瀏覽器中選擇日期
回答
我有同樣的問題,我認爲你可以使用jQuery Mobile ui日期選擇器。 iOS(Safari)支持本地日期選擇器和android不是! 需要檢測客戶端是否iOS版客戶端,然後使用
input type="date"
別人使用jQuery移動的UiDatePicker
如果設備的iOS這段代碼可以檢測(PHP according to Haim Evgi):
<?php
//Detect special conditions devices
$iPod = stripos($_SERVER['HTTP_USER_AGENT'],"iPod");
$iPhone = stripos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$iPad = stripos($_SERVER['HTTP_USER_AGENT'],"iPad");
$Android = stripos($_SERVER['HTTP_USER_AGENT'],"Android");
$webOS = stripos($_SERVER['HTTP_USER_AGENT'],"webOS");
//do something with this information
if($iPod || $iPhone){
//browser reported as an iPhone/iPod touch -- do something here
}else if($iPad){
//browser reported as an iPad -- do something here
}else if($Android){
//browser reported as an Android device -- do something here
}else if($webOS){
//browser reported as a webOS device -- do something here
}
?>
最後,你需要設置<input>
標籤是readonly="readonly"
CODE(jQuery Mobile的):
<input type="date" name="date" id="date" value="" data-role="datebox"
data-options='{"mode": "datebox","useDialogForceFalse": true}' readonly="readonly" />
對datepicker輸入類型的支持非常少見。見here。在支持該功能的少數瀏覽器中,支持和實現是非常不同的。
Safari提供日期格式的文本字段,但沒有真正的日曆小部件。 Chrome中的部分支持是指「日期」類型的日曆窗口小部件,但僅適用於所有其他日期/類型字段的文本字段。 Chrome 23支持「時間」類型。 Chrome 25增加了對「周」和「月」類型的支持。一些修改版本的Android 4.x瀏覽器確實支持日期/時間字段。
我不確定jQuery Ui Datepicker是否足夠聰明,可以檢測輸入類型是否受支持,如果不支持,也不會出現。 但爲了節省一方,我會使用jQuery Ui。
有很多的可能性。究竟做了什麼不好?
編輯
由於這個答案被錄取了我只是想這個問題是清楚(安德魯·韋爾奇在評論中提到下文)。如果用戶可以選擇在日期選擇器的輸入字段中輸入某些內容,則會觸發iPhone鍵盤,這會導致不需要的行爲並「中斷」日期選擇器。爲了防止這種情況,你只需要使輸入成爲只讀字段。
<input type="text" id="datepicker" readonly="readonly">
我認爲我的決議是在日期輸入字段上執行readonly =「true」來停止鍵盤在ios中觸發,然後使用jquery ui datepicker。 – weaveoftheride 2013-04-28 09:22:53
有道理!所以現在起作用了?如果你可以,我可以將其添加到我的答案中。如果不是,也許你可以寫一個答案,並接受你自己的,因爲我沒有真正解決你的問題只是表明,你不能依靠html5輸入日期此刻^^ – SirDerpington 2013-04-28 09:27:22
- 1. 如何使用輸入類型=日期在所有瀏覽器
- 2. 輸入類型日期格式和日期選擇器問題
- 3. 獲取在日期選擇器中選擇的所有日期
- 4. BB10 HTML輸入類型的日期選擇器標題=日期標記
- 5. HTML輸入類型=日期星期幾
- 6. ang2/bootstrap - 捕獲和打敗瀏覽器的日期選擇器彈出輸入類型=日期
- 7. 在輸入類型日期中更改日期HTML
- 8. 使用javascript在HTML輸入(日期)類型中操作日期
- 9. jQuery UI日期選擇器輸入類
- 10. Chrome瀏覽器中的日期範圍選擇器日期選擇問題
- 11. 類型日期 - 僅使用日曆選擇器的輸入HTML5
- 12. 跨瀏覽器日期輸入支持
- 13. 日期選擇器選擇的日期不選擇具有在日期選擇器插入所述選定的日期的日期很難
- 14. HTML/Angular2日期選擇器禁用以選擇未來日期
- 15. 角2 +火狐+輸入+類型=日期日期選擇器不顯示
- 16. 谷歌瀏覽器輸入類型=「日期」強制性
- 17. 谷歌瀏覽器輸入類型=「日期」
- 18. HTML輸入jQuery UI日期選擇器vs iOS本機日期輸入
- 19. 在jQuery日期選擇器中選擇日期和高亮日期選擇器
- 20. HTML輸入類型日期 - 選擇並摺疊
- 21. 根據日期選擇器中選擇的日期禁用日期選擇器的以前的日期
- 22. 從日期選擇器中轉換用戶輸入的日期
- 23. 需要幫助從日期選擇器中輸入日期
- 24. 禁用日期選擇器更新輸入中的日期
- 25. HTML5輸入日期選擇器:禁用重置日期選項
- 26. Extjs 5 - 日期選擇器只有年
- 27. Asp.net mvc 5跨瀏覽器日期選擇器和時間選擇器
- 28. 類型錯誤:日期是在自舉日期選擇器
- 29. 在瀏覽器中的Javascript日期選擇器問題
- 30. 出生日期的日期選擇器輸入字段
是的,如何做檢測? – weaveoftheride 2013-04-28 09:55:22
你使用PHP嗎? – 2013-04-28 09:56:23
是的,我使用PHP,在這種情況下。 – weaveoftheride 2013-04-28 09:57:47