0

Submitボタンを押すか、 の項目を選択して、フォームを送信できますselect_tag

<% form_tag url_for(:action => 'create') do %>

  <%= select_tag :names, options_from_collection_for_select(@name_list, :id, :name, @name), 
     { :onchange => "this.form.submit();" } %> 

  <%= submit_tag 'Submit' %>

<% end %>

で別のコントローラー アクション (以外create)を呼び出すことは可能this.form.submit();ですか?

次の代わりに、さまざまなアクションでさまざまな送信を処理したいと思います。

if params[:commit] == 'Submit'
  # from submit
else
  # from select_tag
end

同じコントローラーアクションで。

4

1 に答える 1

1

jQuery では、次のようなものを試すことができます。

:onchange => "$.post(<alternative_url>, $(this).form.serialize()); return false;"

[私の以前の回答(質問には答えていません)]送信前にコミット入力値を設定するためにjsを使用するのはどうですか?

jQuery:

:onchange => "$(this).form.find('input[name="commit"]').val('select'); $(this).form.submit();" 

プレーンJS:

:onchange => "document.getElementById(<SubmitButtonId>).value = 'select'; this.form.submit;"
于 2012-05-22T08:26:00.990 に答える