2011-01-23 6 views
0

javascriptとRailsで新しい。 フォームではないときに私のレールアプリで作業するためのシンプルなjQueryを得ました。JQuery Rails 3:JSを単純な形式で実行することができません

これで、ユーザーがフォームに「送信」したときにjQueryアクションを実行しようとしています。 問題は、スクリプトの代わりにHTMLコードが実行されることです。 BTW:単純なフォームを作成するためにスキャフォールディングを使用しました。フェッチしたい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")。$ {"new_travel"} $ {"$ this" ); ':this:' this.action'は有効なjq/jsステートメントです。? – shybovycha

+0

しかし、ここの私の投稿の書式設定は良いかもしれません。 – TheBlot

答えて

0

SOLVED!

標準フォームでは実際に動作しましたが、私が操作したフォームは別のJqueryコールの一部として別ページに表示されていたため、$( "#new_travel")は検出しませんでした。

私はそれを変更する必要がありました:。 $( "#のnew_travel")(( '提出' 関数を生きる)...

そしてそれは、JavaScriptを得たページのすべての次#new_travelとして働いていました'hook'。

関連する問題