【发布时间】:2014-03-05 18:34:06
【问题描述】:
我的表单中有一个日期选择器,我想通过 ajax 调用发布表单数据。我的问题是表单没有从日期选择器中选择日期。
这是我与日期选择器一起使用的主题的链接: http://wrapbootstrap.com/preview/WB00U99JJ
这是表单内的日期选择器的 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');
}
});
});
【问题讨论】:
-
也许它没有
name? (编辑:哦,现在有了) -
@Kuma 我添加了名称字段,但仍然没有运气。 ajax 调用完全跳过日期选择器。
-
尝试检查该div上生成的html,表单不提交非输入元素。
-
@Kuma 整个datepicker没有输入...它由div、a、spans和table组成。
-
@Kuma 如果您查看我在上面发布的主题链接,您可以看到日期选择器
标签: javascript jquery ajax datepicker