3

我正在使用Bootstrap Datepicker,我想在选择新日期时提交带有新日期值的表单 - 所以没有提交按钮。

我的表单 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" />

我有这个张贴表格OK:

$('#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 请求。正如我提到的,我也无法写入控制台。

我怎样才能获得要发布的表格?

4

2 回答 2

4

您提交表单的第一个示例。

第二个示例,您将函数分配给提交事件。它不会提交表单。您必须调用 .trigger("submit"); 执行它。

我想你只是想要

$('#input-date')
    .datepicker()   
    .on('changeDate', function(e){    
        var date = $('#input-date').val();    
        $.post("my-page", function() {
            alert("success with posting " + date);
        });
    });
于 2013-02-27T19:19:06.530 回答
0

setTimeout将在 Datepicker 更新输入中的值后调用:

$('#input-date')
    .datepicker()
    .on('changeDate', function(e){
        setTimeout(function () {
            $('#date-form').submit();
        });
    });
于 2017-09-28T14:26:08.720 回答