2011-01-23 72 views
0

新的JavaScript和Rails。 我已經得到了一些簡單的jQuery來處理我的rails應用程序,當它不是一個窗體。JQuery Rails 3:無法讓JS以簡單的形式執行

現在我試圖在用戶點擊表單中的「提交」時執行jQuery操作。 我遇到的問題是執行HTML代碼而不是腳本。 順便說一句:用腳手架來創建一個簡單的表單。這是我想要獲取的CREATE提交操作。


的application.js:

jQuery.ajaxSetup({ 
    'beforeSend': function(xhr) { 
    xhr.setRequestHeader("Accept", "text/javascript") 
    } 
}) 

$(document).ready(function() { 

    $("#new_travel").submit(function() { 
    $.post(this.action, $(this).serialize(), null, "script"); 
    return false; 
    }); 

create.js.erb:

alert('Yeah!'); // Have more, but just want to see the jQuery to be executed 

new.html.erb:

<%= form_for(@travel, :remote => true) do |f| %> 
.. 
.. 
    <div class="actions"> 
    <%= f.submit %> 

遊記控制器持有的respond_to塊

任何線索,什麼是錯的format.js? 讓我知道是否有任何信息丟失。

謝謝!

+0

`$(「#new_travel」)。submit(function(){$ .post(this.action,$(this).serialize(),null,「script」); return false;} );`:是this:`this.action`是一個有效的jq/js語句..? – shybovycha 2011-01-23 23:10:31

回答

0

已解決!

我發現它確實爲標準表單工作,但由於我操作的表單在另一個頁面內顯示爲另一個Jquery調用的一部分,$(「#new_travel」)未檢測到它。

我不得不改變到: $(「#new_travel」)生活(「提交」功能()...

然後它擔任頁面上的所有以下#new_travel得到的JavaScript 'hook'