我使用的是HTML5 <input type="date" />
,它可以在Chrome中正常使用,我可以通过日历弹出窗口选择日期。
但是在Firefox中,它就像一个文本框,没有弹出日历。
经过一些研究后,我看到很少使用webshims,modenizr等解决方案......但我不想使用jQuery。
有替代方案吗?如何让它在Firefox中运行?
答案 0 :(得分:23)
编辑:来自Firefox 57,<input type="date"/>
为partially supported。
Firefox doesn't support HTML5's <input type="date"/>
。
您有两种选择:
这称为Feature Detection,Modernizr是最受欢迎的库。
总是使用javascript datepicker更容易,更快,但它不适用于禁用javascript(谁关心),它会在移动设备上运行非常糟糕(这很重要),它会闻起来很旧。
使用混合方法可以让您现在涵盖每个案例,直到每个浏览器都支持HTML5日期选择器的那一天,以标准化的方式完全不需要javascript。它是面向未来的,this is especially important in mobile browsing,其中javascript日期选择器几乎无法使用。
这是一个启动示例,可以自动对每个页面的每个<input type="date"/>
元素执行此操作:
<script>
$(function(){
if (!Modernizr.inputtypes.date) {
// If not native HTML5 support, fallback to jQuery datePicker
$('input[type=date]').datepicker({
// Consistent format with the HTML5 picker
dateFormat : 'yy-mm-dd'
},
// Localization
$.datepicker.regional['it']
);
}
});
</script>
它使用jQuery,因为我使用jQuery,但是您可以使用vanilla javascript替换jQuery部分,并使用您选择的javascript datepicker替换datepicker部分。
答案 1 :(得分:3)
现在正在运作。从Firefox 53开始,您可以通过启用<div id="error_explanation" class="alert alert-success"></div>
选项在displayError('#{error_msg}')
中激活它。请参阅http://caniuse.com/#feat=input-datetime和https://developer.mozilla.org/en-US/Firefox/Experimental_features
答案 2 :(得分:1)
`input type="date"` is not supported on mozilla
检查link以获取支持的活动列表
答案 3 :(得分:1)
我使用6个HTML选择框,对于各种项目,使用适当值的OPTION语句:
2000-2050(或您选择的任何范围) 第1-12个月(你可以让它显示月份名称) 第1-31天 小时0-23(或使用12午夜 - 晚上11点,这只是改变显示) 分0-59 第二个0-59(或假设为0)
不需要Javascript,虽然我确实使用了一些来避免无效选择(如2月30日)。这是在月份或年份的变化时触发的。
答案 4 :(得分:-2)
你正在使用什么版本的firefox.Firefox低于30的低版本将不支持大多数html5功能和html5输入类型=&#34;日期&#34; firefox不支持。 有关详细信息,请参阅:http://caniuse.com/#feat=input-datetime。