为什么.submit()不能在带Bootstrap Datepicker的changeDate上工作?
问题描述:
我正在使用Bootstrap Datepicker,并且我希望在选择新日期时提交带有新日期值的表单 - 因此没有提交按钮。为什么.submit()不能在带Bootstrap Datepicker的changeDate上工作?
我的HTML表单是:
<form id="date-form" method="post" action="" accept-charset="utf-8" >
<input data-date-autoclose="true" data-date-start-view="months" data-date-format="M yyyy" data-date-min-view-mode="months" type="text" id="date-input" />
我有这样的发布形式确定:
$('#input-date')
.datepicker()
.on('changeDate', function(){
$('#date-form').submit();
});
不过,我需要得到新的日期值,因此有这样的:
$('#input-date')
.datepicker()
.on('changeDate', function(e){
$('#date-form').submit(function() {
var date = $('#input-date').val();
$.post("my-page", function() {
alert("success with posting " + date);
});
// even if I just have console.log("worked"); in here it wont log
});
});
通过上面的代码,POST请求根本就没有做出。正如我所提到的,我也不能写入控制台。
如何获取表单发布?
答
您提交表单的第一个示例。
第二个示例是您将函数分配给提交事件。它不会提交表单。你将不得不打电话.trigger(“提交”);执行它。
我觉得你只是想日期选择器已经更新输入值后
$('#input-date')
.datepicker()
.on('changeDate', function(e){
var date = $('#input-date').val();
$.post("my-page", function() {
alert("success with posting " + date);
});
});
答
setTimeout
将被调用: - (!似乎是这样一个愚蠢的问题了)
$('#input-date')
.datepicker()
.on('changeDate', function(e){
setTimeout(function() {
$('#date-form').submit();
});
});
感谢的作品。 – gelviis 2013-02-27 19:49:55