我觉得奇怪的input type="date"是,在所有这段时间后仍然不支持Firefox.实际上,我不认为他们在输入元素上添加了很多(如果有的话)HTML 5新类型.IE10不支持它并不奇怪.所以,我的问题是......
如何type="date"使用一个input元素工作而不添加另一个.js文件(即jQueryUIDatePicker Widget)只是为了获取IE和Firefox浏览器的日历/日期?有什么东西可以应用到某个地方(可能是CDN?),这将使这个功能在Firefox和/或IE浏览器中默认工作?尝试针对IE 8+浏览器和Firefox,没关系,最新版本(28.0)会没问题.
更新:Firefox 57+支持输入类型=日期
我有奇怪的问题.我的日期验证在Chrome中不起作用.我试过这个答案,但它对我不起作用.
我的模型中有这个:
[Display(Name = "Date")]
[DataType(DataType.Date)]
public DateTime Date { get; set; }
Run Code Online (Sandbox Code Playgroud)
我的看法:
<div class="editor-field">
@Html.TextBoxFor(model => model.Item.Date, new { @class = "picker" })
@Html.ValidationMessageFor(model => model.Item.Date)
</div>
$(document).ready(function () {
$('.picker').datepicker({
dateFormat: 'dd.mm.yy',
changeMonth: true,
changeYear: true,
selectOtherMonths: true
});
});
Run Code Online (Sandbox Code Playgroud)
一切都适用于Opera和Firefox,但Chrome不喜欢这种类型的日期.我经常收到以下错误The field 'Date' must be a date.
有任何想法吗?
UPDATE
当代码在局部视图中时,似乎存在问题.当我将该代码复制到主页时,验证工作正常.
我正在我的主视图中插入局部视图,就像这样:
@Html.Partial("_CreateOrEdit", Model)
Run Code Online (Sandbox Code Playgroud)
上面的代码在局部视图中:
@model Pro.Web.Models.Model
<div class="editor-field">
@Html.TextBoxFor(model => model.Item.Date, new { @class = "picker" })
@Html.ValidationMessageFor(model => model.Item.Date)
Run Code Online (Sandbox Code Playgroud)
$(document).ready(function () { …Run Code Online (Sandbox Code Playgroud)