日期选择器 html5 标记不适用于 Mozilla、IE 浏览器。但它仅适用于 Chrome

Posted

技术标签:

【中文标题】日期选择器 html5 标记不适用于 Mozilla、IE 浏览器。但它仅适用于 Chrome【英文标题】:Date picker html5 tag is not working on Mozilla, IE browsers. But its working only on Chrome 【发布时间】:2014-08-24 13:03:16 【问题描述】:

我正在尝试在我的网站中使用 html 5 日期选择器标签。但是这个标签在 Mozilla 和 IE 上不支持。能否请您分享我在 IE 和 Mozilla 中使用此代码的任何技巧。

我只想使用 HTML5。我不想使用 javascript

【问题讨论】:

【参考方案1】:

日期仅在 Chrome、Opera、Safari 和 android 浏览器 4.4+ 中支持

http://beta.caniuse.com/#search=date

【讨论】:

【参考方案2】:

你可以在 Mozilla 的情况下使用 jQuery 日期选择器:使用 $.browser.mozilla 检查浏览器,但它在 jQuery>1.9 中不起作用,所以你必须使用 jQuery Migration,如下所示:

     <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
      <script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>//jQuery migration
    <script>
        if ($.browser.mozilla)
    
        if ($('.datepicker')[0].type != 'date') $('.datepicker').datepicker();
        $(function () 
            $(".datepicker").datepicker(
                changeMonth: true,
                changeYear: true,
                yearRange: "1900:2015",
                dateFormat: "yy-mm-dd",
                defaultDate: '1900-01-01'
            );
        );
    

</script>

【讨论】:

请注意,OP 说 我只想使用 HTML5。我不想使用 JavaScript。【参考方案3】:

是的,Mozilla Firefox 不支持 HTML5 的 DatePicker 标签。但是您可以通过添加一些 .js 文件在您的网站中使用DatePicker

下面是我使用一些 .js 文件的小提琴。此代码在 Chrome 和 Mozilla 上都能正常工作。

<script>
$(function() 
$( "#datepicker" ).datepicker();

);
</script>
</head>
<body>
<p>Your Selected date Is : <input type="text" id="datepicker"></p>

http://jsfiddle.net/Vq65z/504/

【讨论】:

请注意 link-only answers 是不鼓励的,所以答案应该是寻找解决方案的终点(与另一个中途停留的参考相比,随着时间的推移往往会变得陈旧)。请考虑在此处添加独立的概要,并保留链接作为参考。 好的,我明白你想说的了。实际上,我是 stacoverflow 的新手,我对回答溢出问题了解不多。谢谢你的建议#t3chb0t。【参考方案4】:

第一,回答OP,提问者要求做的事情是不可能的。 Javascript 是必需的。第二,虽然webshim 看起来很棒,但它与bootstrap 一起工作很糟糕。为此,您需要使用http://eonasdan.github.io/bootstrap-datetimepicker/

【讨论】:

【参考方案5】:

不要忘记这样的文档类型:

<!DOCTYPE html>
<html>
<body>

<form action="demo_form.asp">
  Birthday: <input type="date" name="bday">
  <input type="submit">
</form>

</body>
</html>

Firefox 和 mozilla 不支持 Date-HTML5 !很快就会支持。


但它会在 Google-Chrome、Opera 和 Safari 上顺利运行

【讨论】:

Eirenaios 我只使用这个标签,但我的 IE 和 Mozilla 不支持这个标签。那么你能告诉我任何 CSS hack 吗? jQuery UI 不是 html5 的唯一方式【参考方案6】:

只需使用日期选择器 polyfill。这是demo。

<script src="js/jquery.js"></script>
<script src="js-webshim/minified/polyfiller.js"></script>

<script>
  //webshim.setOptions('basePath', '/js-webshim/minified/shims/');

  //request the features you need:
  webshim.polyfill('es5 mediaelement forms');

  $(function()
    // use all implemented API-features on DOM-ready
  );
</script>

<input type="date" />

【讨论】:

以上是关于日期选择器 html5 标记不适用于 Mozilla、IE 浏览器。但它仅适用于 Chrome的主要内容,如果未能解决你的问题,请参考以下文章

我的 jquery 标记不适用于 haml 格式

resignFirstResponder() 不适用于日期选择器

带有 UIControlEvents.valueChanged 的​​日期选择器不适用于第一个值更改事件

赛普拉斯测试 Material-UI 日期选择器不适用于 Github 操作

iOS HTML5 日期选择器不接受宽度:100%;

Parsleyjs 日期验证不适用于 Onchange 等 Datepicker 事件