2012-02-23 25 views
1

我試圖提交表單這樣一個Ruby on Rails的網站:如何在每'x'秒自動提交一個rails 3.1遠程表單?

var autosave = window.setInterval("autosaveForm()", 5000); 

function autosaveForm() { 
    $("#myForm").trigger("submit.rails"); 
} 

它確實提出每5秒我的形式,但是,它不更新的形式發送的參數。例如,如果我開始輸入屬於表單的textarea,當它自動提交時,它不會發送我剛輸入的參數的一部分,它只會發送textarea的默認值或任何它在我第一次加載頁面。

如果我不清楚或者您需要更多數據,請告訴我。

而且,是的,我的形式確有:提前遠程=> '真'

感謝。

+0

會發生什麼,如果你觸發定期提交功能? '$( 「#myForm會」)。提交()'。它仍然會被js捕獲(與輸入密鑰起作用相同),並且可能會再次解析數據 – 2012-02-23 03:52:57

+0

這與我在原始問題中所描述的基本相同。 – 2012-02-23 18:14:56

+0

這很奇怪。如果您手動重新提交表單,它不會發送新數據? – 2012-02-23 20:08:38

回答

1

您可以使用periodically_call_remote

爲前

<%= periodically_call_remote(
:url => url, 
:frequency => 60, # seconds 
:update => 'div id') %> 
+0

我對此感到興奮,但這是Rails 3的棄用。 – 2012-02-23 18:14:24

0

OK,你可以嘗試一下本作軌道3

$(document).ready(
function(){ 
    setInterval(function(){ 
    $('#mydiv').load('/controller/action'); 
    }, 1000); 
});