Jquery UI Datepicker一直要求在用光标选择和提交时填写

时间:2015-06-22 07:38:55

标签: jquery datepicker

我遇到了这个问题,到目前为止似乎无法找到答案...... 我有一个表单,其中有两个文本输入与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字段,即使它有值。但是,如果 - 用光标选择后 - 我只是从日期中删除一个数字并再次输入,它不会再警告我了。

任何见解都非常感谢。谢谢

2 个答案:

答案 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的帮助。