2013-02-27 56 views
2

我正在使用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請求根本就沒有做出。正如我所提到的,我也不能寫入控制檯。

如何獲取表單發佈?

回答

3

您提交表單的第一個示例。

第二個示例是您將函數分配給提交事件。它不會提交表單。你將不得不打電話.trigger(「提交」);執行它。

我覺得你只是想日期選擇器已經更新輸入值後

$('#input-date') 
    .datepicker() 
    .on('changeDate', function(e){  
     var date = $('#input-date').val();  
     $.post("my-page", function() { 
      alert("success with posting " + date); 
     }); 
    }); 
+0

感謝的作品。 – gelviis 2013-02-27 19:49:55

0

setTimeout將被調用: - (!似乎是這樣一個愚蠢的問題了)

$('#input-date') 
    .datepicker() 
    .on('changeDate', function(e){ 
     setTimeout(function() { 
      $('#date-form').submit(); 
     }); 
    }); 
相關問題