使用jQuery datepicker的Ajax帖子没有显示日期

时间:2014-03-05 18:34:06

标签: javascript jquery ajax datepicker

我的表单中有一个日期选择器,我想用ajax调用发布表单数据。我的问题是表单没有从datepicker中选择日期。

以下是我使用datepicker的主题的链接: http://wrapbootstrap.com/preview/WB00U99JJ

以下是表单内的datepicker的html:

<div id="datepicker-inline" name="date"></div>

这是我的ajax帖子

$('#submit').on('click', function() {
    var form = $('form');
    var date = $('#datepicker-inline');
    $.ajax('/api/service', {
        type: 'POST',
        contentType: 'application/json',
        dataType: 'json',
        data: form.serializeArray(),
        success: function(response) {
            console.log("Success!");
            $('#status').addClass('status-bar-success');
        },
        error: function() {
            console.log('OH NOES!');
            console.log(form.serializeArray());
            console.log(date.val());
            $('#status').addClass('status-bar-error');
        }
    });
});

我正在控制台中运行,看看我得到了什么。 form.serializeArray()正在运行,date.val()获取所选日期。我的问题是如何将日期值输入form.serializeArray()?

*更新*

HTML

<div id="datepicker-inline"></div>
<input type="text" id="date_hidden" name="date added" class="no_show"/>

AJAX

$('#submit').on('click', function() {
    var form = $('form');
    var date = $('#datepicker-inline').val();
    $('#date_hidden').val(date);
    $.ajax('/api/service', {
        type: 'POST',
        contentType: 'application/json',
        dataType: 'json',
        data: form.serializeArray(),
        success: function(response) {
            console.log("Success!");
            $('#status').addClass('status-bar-success');
        },
        error: function() {
            console.log('OH NOES!');
            console.log(form.serializeArray());
            console.log(date);
            $('#status').addClass('status-bar-error');
        }
    });
});

1 个答案:

答案 0 :(得分:0)

您可以在hidden旁边放置一个div元素,因为它没有任何input元素。

<div id="datepicker-inline" name="date"></div>
<input type="hidden" id="datepicker-inline_hidden" name="date"/>

在你的提交中你可以做到

$('#submit').on('click', function() {
    var form = $('form');
    var date = $('#datepicker-inline');
    $('#datepicker-inline_hidden').val(date);
    //... your code

以便将您的日期值作为hidden元素提交。