2014-01-24 15 views
5

向輸入字段添加類型日期現在會生成基於瀏覽器的日期選擇器。 (在哪裏支持)。爲瀏覽器支持不可用的輸入類型=「日期」添加javascript回退

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

enter image description here

這是fantasic然而對於觸摸devies ...

當隨着市場的肉瀏覽:Firefox和Internet Explorer,鍵入日期不被支持。


問題

如何使用輸入type="date"並退回到一個javascript日期選擇器支持時不可用?

目前我似乎無法同時生產兩個日期選擇器兩個世界的最佳。

+0

瀏覽器不支持'型= date'在通過JS查詢時應該將該類型報告爲默認的「文本」... – CBroe

回答

8

你應該看看使用modernizr它使用JS來確定當前瀏覽器具有哪些功能。在下面的例子中,你可以成爲另一個日期選擇器,如果這個瀏覽器不兼容:

<script src="modernizr.js"></script> 
<script>Modernizr.load({ 
    test: Modernizr.inputtypes.date, 
    nope: ['http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js', 'jquery-ui.css'], 
    complete: function() { 
    $('input[type=date]').datepicker({ 
     dateFormat: 'yy-mm-dd' 
    }); 
    } 
}); 
</script> 
+1

這很好,可以解決問題。不過,如果可以避免使用多餘的代碼,我會很嚴格。這對我想實現的目標有很大的幫助。是否可以僅爲這一功能進行兼容性檢查? – Obsidian

+0

如果你只想用Modernizr.load使用YepNope,你可以使用它。 http://modernizr.com/download/#-load對於其他類型的輸入,CSS轉換和html5shiv,我傾向於使用Modernizr進行功能檢測。這幾乎是我的構建的先決條件,所以我會再考慮包括更多的功能檢測:) – RichieAHB

+0

謝謝@richieahb。我會深入研究一下。 – Obsidian

相關問題