我遇到了这个问题,到目前为止似乎无法找到答案...... 我有一个表单,其中有两个文本输入与JQuery UI datepicker
<input id="datepicker_pickup" name="pickup_date" type="text" required>
<input id="datepicker_dropoff" name="dropoff_date" type="text" required>
在我的脑子部分,我正确地引用了JQuery和JQuery UI脚本。
然后,在BODY结束标记之前的页面底部,我有以下内容:
$(function() {
$("#datepicker_pickup").datepicker({
dateFormat: "dd-mm-yy",
minDate: 0
}).val();
$("#datepicker_dropoff").datepicker({
dateFormat: "dd-mm-yy",
minDate: 0
}).val();
});
我用光标选择第一个输入中的日期,然后单击SUBMIT按钮。我得到一个工具提示,告诉我必须填写datepicker字段,即使它有值。但是,如果 - 用光标选择后 - 我只是从日期中删除一个数字并再次输入,它不会再警告我了。
任何见解都非常感谢。谢谢
答案 0 :(得分:1)
您对拣货员使用相同的id
。改为:
<input id="datepicker_pickup" name="pickup_date" type="text" required>
<input id="datepicker_dropoff" name="pickup_date" type="text" required>
答案 1 :(得分:0)
任何人都有一些想法?我使用的是html5 doctype,看来在datepicker选择时,该字段没有得到或者&#34;保持&#34;价值,否则我不会得到警告。根据要求,我可以提供页面的完整代码,也许与页面中的其他JS存在一些冲突。这让我很抓狂,因为我无法提交表单,除非我删除了&#34; required&#34;两个日期选择器的属性。谢谢。
UPDATE 我发现datepicker字段与此脚本冲突: CIVEM 0.0.7这是我用来本地化输入错误消息的自定义验证脚本。这很好,本来很完美,但是我的表格无法提交,所以我删除它,现在它可以工作。
解决 我从CIVEM的开发人员hannu那里得到了帮助,看起来确实CIVEM与datepicker发生了冲突,但是有些代码被添加到datepicker中,以便触发onInput事件。
我用这个替换了代码:
$(document).ready(function() {
$("#datepicker_pickup").datepicker({ dateFormat: "dd-mm-yy", minDate: 0, onSelect: function() {
this.oninput({target: this});
}}).val();
$("#datepicker_dropoff").datepicker({ dateFormat: "dd-mm-yy", minDate: 0, onSelect: function() {
this.oninput({target: this});
}}).val();
});
现在工作正常。感谢Hannu的帮助。