2013-03-25 3 views
1

У меня есть свой тег формы, а также у меня есть две кнопки в моей форме. Как я могу вызвать разные действия в моей форме при нажатии кнопок отправки.Как указать различные действия в форме на два тега отправки?

Вот мой код:

<%= form_for :attachment_metadata, :url=>{:action=>'delete_files'}, :html=>{:onsubmit=> "return confirm('Are you sure, you want to delete selected files?');",:multipart => true} do |f| %> 
    <table> 
    ..........Some stuff here.......... 
    </table> 
<%= submit_tag 'Reprocess', :class =>'button' %> 
<%= submit_tag 'Remove', :class =>'button' %> 
<% end %> 

На щелчку «Обработать» я хочу называть различные действия, но в той же форме.

Как я могу это сделать?

Пожалуйста, помогите

Заранее спасибо

+1

см http://stackoverflow.com/questions/13987512/how-can-i-get-f-submits-name-parameter-in-controller/13988021#13988021 – shweta

ответ

1

params[:commit] может различать действия двух тегов отправки.
Обновлено:

@action = PARAMS [: совершить]

дает @action значение, как "Reprocess", если ваш нажмите кнопку Reprocess и дает "Remove" значение, если вы нажмете Remove button,

+0

Как я могу это использовать? –

+0

Вы можете использовать его в своем действии отправки. Вы можете различать, какую кнопку нажать, используя params [: commit], он дает значение вашего щелчка, просто отметьте –

+0

. См. Мой обновленный ответ. –

1

Это покрыто Railscast 38. Я уверен, что это решит вашу проблему. Это очень просто. Всякий раз, когда вы отправляете форму, она отправляет некоторую информацию в hash о параметрах, которые вы совершили, я бы предложил вам взглянуть на railscast, и вы полностью поймете.

+0

спасибо это может быть полезно –

+0

I хотите вызвать действие обработки для отправки кнопки перепрограммирования –

+0

m Конечно, вы можете позвонить, просто взгляните на railscast. –

0

У вас может быть две разные формы, и вы можете отправить свою форму с помощью jQuery. в этом случае вы можете отправить форму в определенное место.

<form id="target" action="destination.html"> 
    <input type="text" value="Hello there" /> 
    <input type="submit" value="Go" /> 
</form> 
<div id="other"> 
    Trigger the handler 
</div> 

$('#target').submit(function() { 
    alert('Handler for .submit() called.'); 
    return false; 
}); 
+0

Это хорошая работа с jQuery. –

Смежные вопросы