0

Ajaxを使用してデータを投稿するための次のフォームがあります。

<%= form_tag(check_answer_path, :id =>'myForm', :method => 'post', :remote => true) do %>
   some form fields here...
<%= submit_tag('Next', :class => 'btn btn-primary') %></td>

しかし、[次へ] ボタンをクリックしてもフォームが送信されません。:id および :remote 属性を削除すると、驚いたことに、フォームは問題なく送信されます (ただし、ページはリロードされますが、これは望ましくありません)。

ajaxForm()目標:コールバックを処理するために使用してフォームを送信したい$("#myForm").ajaxForm()。したがって、属性が必要であり、:remote(属性を使用して) フォームを識別する必要もあり:idます。

属性を含める:idとフォームが送信されないのはなぜですか?:remote

Rails 3.2.8 と jquery-rails を使用しています。

前もって感謝します。

4

1 に答える 1

2

form タグに remote を追加することは、JS を使用してリクエストを送信することを意味します。

したがって、実際にはフォームを送信していますが、期待どおりに送信していません。コントローラーに次を追加します。

 respond_to do |format|
   format.js
   format.html
 end

そのリクエストに応答して、ビューに file.js.erb を配置し、必要な js コードを配置してリクエストを完了することができます。

それが役立つことを願っています。

于 2012-12-12T16:40:44.020 に答える