这里没有示例代码,只是一个带有minDate和maxDate的标准jQuery UI datepicker ......
手动键盘输入会出现问题。如果我以批准的格式mm-dd-yyyy输入日期并且我的思想设置为-60(过去60天),我可以使用键盘手动输入日期选择器中显示的60天以上的日期限制。
如果按Enter键,则会正确设置心智,但是如果我选择表单上的下一个字段(这将是标准用户将要执行的操作),则无效的旧日期将保留在字段中并且可以提交。< / p>
有没有办法强制检查/纠正日期?我已经看到了一些验证插件解决方案,但这些并没有让我获得我所知道的思想。或者有没有办法禁用手动键盘输入日期?
答案 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")
}
这使我们同时出现了日期选择器,隐藏了文本框,然后一旦选择了日期,就会重新显示带有选定日期的文本框。从技术上讲,文本框仍然存在,可以输入输入,但过渡有助于指导用户从日期选择器中选择日期。