sha*_*oth 4 javascript jquery datepicker jquery-ui-datepicker asp.net-mvc-3
我有一个 MVC3 应用程序,其中一个页面有一个jQuery datepicker:
<script>
$(function () {
$("#expirationDate").datepicker();
$("#expirationDate").datepicker("option", "dateFormat", "dd/mm/yy");
});
</script>
using (Html.BeginForm())
{
@Html.TextBox("expirationDate")
<input type="submit" value="Submit" />
}
Run Code Online (Sandbox Code Playgroud)
控制器动作是这样的:
public ActionResult DoStuff(String expirationDate)
{
return View();
}
Run Code Online (Sandbox Code Playgroud)
日期选择器看起来很好,但行为很奇怪。
我在其中输入一些日期,例如 31/12/2012 为 12 月 31 日(注意我指定的格式为dd/mm/yy),然后按下按钮。控制进入控制器,在那里我看到expirationDate变量保持31/12/2012值。然后操作返回,然后我看到文本框为空。
然后我尝试 10/12/2012 - 它进入操作但是当页面再次显示时它变成 12/10/2012 - 显然月和日交换了。也许在 31/12 的情况下,它看到交换它们会产生一个无效的日期并丢弃它。
尽管明确指定了格式,为什么日期和月份会被交换?
这是我修复它的方法。我变了
$("#expirationDate").datepicker();
$("#expirationDate").datepicker("option", "dateFormat", "dd/mm/yy");
Run Code Online (Sandbox Code Playgroud)
到
$("#expirationDate").datepicker({ dateFormat: 'dd/mm/yy' });
Run Code Online (Sandbox Code Playgroud)
现在它工作得很好。
我的猜测是原始代码被破坏了。我没有制作原始代码,我在日期选择器页面上找到了它。