2012-04-18 79 views
4

我有一個頁面,其中有一些輸入類型=「文本」,附帶一個jQuery UI日期選擇器,它以格式「2012年2月14日」格式輸入字段。大。現在我需要調整移動/小屏幕界面。我遇到的問題是,當iPhone用戶點擊文本輸入時,會出現jQuery datepicker,iOS也會顯示它的原生文本輸入鍵盤。HTML輸入jQuery UI日期選擇器vs iOS本機日期輸入

我試着使用Modernizr來檢測html5 inputtype = date的可用性,如果它可用並禁用jQuery datepicker並將輸入類型切換爲「date」,那麼理解這種設備就可以使用它們的本機輸入。但是,這會輸入後端系統不理解的格式「2012-02-14」的日期。根據「2012年2月14日」格式的日期完成了大量工作。所以如果任何人都可以幫助,我正在尋找一種方法來獲得只有jQuery UI日期選擇器出現在所有系統上,或爲解決方案,這意味着本機日期/文本輸入可以被迫輸入格式「14 2012年2月「。

回答

1

不幸的是,datepicker格式不能被覆蓋,因爲它被綁定到用戶的系統設置。

儘管事實上你可以做的事情是讓腳本根據可用技術(例如Modernizr.inputtypes.date)從type =「text」到type =「date」進行動態切換。

從那裏你可以嵌入一個隱藏的字段,並將當前日期字段的名稱轉換爲該隱藏字段,然後從本地日期選擇器將日期格式解析爲所需的格式並設置隱藏字段的值。

<input type="date" name="userSetDate"/> 

這樣:

<input type="date"/> 
<input type="hidden" name="userSetDate" value="mm/dd/yyyy"/> 

然後困難將被解析所述用戶定義的格式插入需要的格式,因爲格式變化:

13年10月6日 - >是即2013年10月6日或2013年6月10日?


現在你可以做一些東西incorproates上層溶液狀造型的標籤,看起來像一個按鈕,應用精確的[供]屬性,並有日期選擇器領域是一個類型=「隱藏」和應用日期選擇器。

<label for="fooDate">test</label> 
<input type="hidden" name="fooDate" id="fooDate"> 

<script> 
$('#fooDate').datepicker(); 
</script> 

希望你是(是,注意到這張貼的日期)能夠弄清楚!

相關問題