输入类型日期格式和日期选择器问题

我正在使用HTML5元素输入属性,目前只有Chrome,iOS Safari和Opera似乎支持它。 所以我已经为那些不支持它的浏览器创建了一个jQuery UI datepicker后备,但是我遇到了一些问题并且无法找到任何答案。

  1. 如果我输入了datepickers所需的日期格式,然后选择一个新的日期,那么还有一个额外的yyyy
  2. 我认为yyyy-mm-dd格式是荒谬的,并希望它显示mm / dd / yyyy就像chrome一样,即使值仍然是yyyy-mm-dd。 有没有办法用datepicker或更好的解决方案来做到这一点?

JS

if (!Modernizr.inputtypes.date) { $('input[type=date]').datepicker({ dateFormat: 'yyyy-mm-dd' // HTML 5 }); } 

HTML

  

请查看firefox以查看datepicker后备和chrome以查看输入类型日期。

首先,jQuery的datepicker做的有点不同,整整一年只是yy所以做yyyy让你全年两次。

以下是日期格式列表 – > http://api.jqueryui.com/datepicker/#utility-formatDate

请注意, y是两位数年份, yy是四位数年份。

要显示具有一种格式的日期选择器,并提交不同的格式,您将使用altField选项和另一个保存替代值的输入。
当您向用户显示原始输入时,这是您要提交的输入。

要为原生日期选择器设置它,你也会做类似的事情

   

 if (!Modernizr.inputtypes.date) { $( "#date" ).datepicker({ dateFormat : 'mm/dd/yy', altFormat : "yy-mm-dd", altField : '#alternate' }); } else { $('#date').on('change', function() { $('#alternate').val(this.value); }); } 

小提琴