2011-12-21 6 views
0

私のメインページには、検索コントローラにサブミットしている検索フォームがあります。同じページに、リソースコントローラーに送信している新しいリソースを登録する別のフォームがあります。リソース・フォームは部分的にレンダリングされ、部分の内部にform_forタグがあります。検証が成功した場合はすべて正常に動作しますが、そうではなくフォームがjQueryで再レンダリングされると、リソースフォームの送信ボタンはリソースコントローラに送信されなくなり、検索コントローラに送信されます。これは、ページが最初にレンダリングされるときにDOMがロードされるときにform_forプロパティが設定されるためですか?この仕事をする方法はありますか?この場合に使用できる.live()関数のようなものがありますか? jQueryの使用jQueryを使用してRails内の別のコントローラとページをレンダリングする

<%= form_for @resource, :url => {:controller => 'resources', :id => @resource.id }, :remote => true do |f| %> 

<div id="new_resource_form" style="display:block"> 
    <%= render "resources/resource_form" %> 
</div> 

これは、部分的resource_formののform_for一部である:ここでは

は当初、検索/ index.html.erbファイルにレンダリングされるか部分的です部分を再レンダリングするには、次のようになります。

$('#new_resource_form').html('<%= escape_javascript raw render 'resources/resource_form' %>') 

答えて

0

[送信]ボタンをクリックすると、イベントの吹き出しが周囲のフォームに到達してフォームが送信されるまで送信されます。送信ボタンは実際には何も指していません。つまり、フォームが再レンダリングされると、htmlはリソースフォームの外側と検索フォーム内にサブミットボタンを配置しているという問題があるかのように聞こえます。ブラウザが修正しようとしているテンプレートhtmlにエラーがありますか?

+0

ありがとうございます!私はそれを調べます。問題の「点」を「提出」に変更しました。 –

+0

まだ何かエラーは見つかりませんでした。私は、非jQueryレンダリングですべてがうまくいくと、テンプレートにエラーがあるはずですが、それは非常に奇妙だと思います。 –

+0

エラーが見つかりました。ありがとう! –

関連する問題