Kendo UI datepicker与Chrome 56不兼容

将Chrome更新到其上一个版本56.0.2924.76(64位)后,我们的Kendo datepickers开始无法正常工作。

所有日期选择器都使用ViewModels绑定,现在它们不显示它们的值。 如果我们检查它们,我们会看到设置了值,但它没有显示出来。

例如:

@(Html.Kendo().DatePicker() .Name("DateFrom") .Start(CalendarView.Month) .Depth(CalendarView.Month) .Format("MM/dd/yyyy") .HtmlAttributes(new { @id = "ClosingStartDate", @placeholder = "enter date from", @class = "masked-date" })) 

如果我使用Chrome的开发人员工具检查此元素,我会得到以下结果:

  

但它是这样的

当我们用KnockOut绑定属性值时,所有日期选择器都可以正常工作。

我们的剑道版本是:Kendo UI Complete v2012.2.913

还有另一种绑定它的方法吗? 我们应该使用Chrome v.56改变什么?

目前,DatePicker包装器呈现INPUT元素类型“date”。 当Kendo DatePicker在客户端上初始化时,它会将输入的类型更改为“text”。 因此,我们避免了“日期”输入的本地呈现。 如果禁用JavaScript,则不会初始化Kendo DatePicker,并且输入可以用作本机。

遗憾的是,某些本机支持“日期”类型(特别是Chrome)的浏览器会validation设置值,如果格式不正确([RFC 3339]中定义的有效完整日期),则会被忽略。 现在,您可以将输入的类型永久更改为“text”,并避免与本机输入相关的任何问题:

 @(Html.Kendo().DatePicker() .Name("datepicker") .Value("10/10/2011") .HtmlAttributes(new { type = "text" })) 

我只是根据kendo UI论坛中的建议添加属性type="text" ,它对我有用。

这是一个链接: http : //www.telerik.com/forums/date-field-not-rendering-correct-in-browsers-that-support-html-5

我可以通过向DatePicker()添加格式来解决这个问题,试试这个

 @(Html.Kendo().DatePicker() .Name("dateReturn") .Format("yyyy-MM-dd") .Value(DateTime.Today) .Min(DateTime.Today) ............... )