0

ajaxを使用してフォームを作成しようとしています。

このチュートリアルを読みましたが、よくわかりません。

簡単なフォームを送信し、ページを更新せずに同じページに結果を表示したいと思います。アプリケーションにモデルがありません。フォームを送信し、API にリクエストを送信し、結果をページに表示したいだけです。

たとえば、これを使用すると:

<form method="post" action="/my_controller/my_action" class="button_to" data-remote="true" data-type="json">
  <input type="text" ..>
  <input type="text" ..>
  <div><input value="Show" type="submit" /></div>
</form>

my_controller でこの値を取得するにはどうすればよいですか? また、ビューに戻すにはどうすればよいですか?

助けてくれてありがとう

4

3 に答える 3

1

あなたのフォーム

<form method="post" action="/my_controller/my_action" class="button_to" data-remote="true"       data-type="script">
  <input type="text" name="value1">
  <input type="text" name="value1">
  <div><input value="Show" type="submit" /></div>
</form>

ディスプレイdivタグ

<div id="feeds"></div>

あなたの行動

def my_action
   @value1 = params[:value1]
   @value1 = params[:value2]
   respond_to do |format|
      format.js
   end       
end

あなたの見解my/my_action.js.erb

$('#feeds').prepend("<%= j ("<p>#{@value1}-#{@value2}</p>") %>");
于 2012-08-11T19:12:18.080 に答える
0

@MuhammetDILEK の回答を編集しようとしましたが、ほとんどうまくいきました。ただし、https ://stackoverflow.com/a/15115551/3472491 で説明されているように、フォームでは data-type="script"なく使用する必要がありました。data-type="json"

于 2014-04-14T18:02:07.303 に答える
0

jqueryのajaxメソッドを使う

$.ajax({
 url:'/path/to/controller',     
 type:'GET',
 data:{formData:$('form').serialize()},
 success:function(data){
 //do what ever with the response
 }

});

さらに、エラーイベントハンドラーをアタッチできます

http://api.jquery.com/jQuery.ajax/

于 2012-08-11T15:51:11.207 に答える