jQuery UI Datepicker:手动日期输入可能是错误的bug

时间:2011-04-28 14:18:49

标签: jquery jquery-ui

这里没有示例代码,只是一个带有minDate和maxDate的标准jQuery UI datepicker ......

手动键盘输入会出现问题。如果我以批准的格式mm-dd-yyyy输入日期并且我的思想设置为-60(过去60天),我可以使用键盘手动输入日期选择器中显示的60天以上的日期限制。

如果按Enter键,则会正确设置心智,但是如果我选择表单上的下一个字段(这将是标准用户将要执行的操作),则无效的旧日期将保留在字段中并且可以提交。< / p>

有没有办法强制检查/纠正日期?我已经看到了一些验证插件解决方案,但这些并没有让我获得我所知道的思想。或者有没有办法禁用手动键盘输入日期?

2 个答案:

答案 0 :(得分:4)

这是一个有趣的解决方案,只需输入只读

像这样

 <input type="text" class="datepick" readonly="readonly"/>

和jquery

         $('.datepick').datepicker();

<强> WORKING DEMO

答案 1 :(得分:0)

mcgrailms答案有效且效果很好。测试时我们注意到了一些混乱,因为在输入框中单击并获得闪烁的光标会导致初始尝试输入,然后混淆为什么没有发生任何事情。我实施的是:

在jQuery UI datepicker上我添加了

beforeShow: function() {
  jQuery('#installation_date').css("visibility","hidden")
},

onClose: function() {
  jQuery('#installation_date').css("visibility","visible")
}

这使我们同时出现了日期选择器,隐藏了文本框,然后一旦选择了日期,就会重新显示带有选定日期的文本框。从技术上讲,文本框仍然存在,可以输入输入,但过渡有助于指导用户从日期选择器中选择日期。