扶手:remote_form_for不能使用多submit_tags玩很好 [英] Rails: remote_form_for not playing nicely with multiple submit_tags

查看:91
本文介绍了扶手:remote_form_for不能使用多submit_tags玩很好的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下形式:

<% form_remote_tag :url => {:action => :wotsit} do %>
  <%= submit_tag "Foo" %>
  <%= submit_tag "Bah" %>
<% end %>

我希望所提交的参数将反映哪个按钮被点击。但是,不管我点击该按钮时,提交的参数包括提交=>富

我是什么做错了吗?

推荐答案

form_remote_tag产生一些JavaScript使用原型的Form.serialize方法,表单字段的值发送到服务器。 Form.serialize始终使用具有提交名称的第一个元素,所以它总是富。

form_remote_tag generates some Javascript that uses Prototype's Form.serialize method to send the values of your form fields to the server. Form.serialize is always using the first element that has the name "commit", so it's always "Foo".

作为变通,你可以添加一个隐藏字段和放大器;有你提交的标签设置领域和放大器;提交表单:

As a work-around you could add a hidden field & have your submit tags set that field & submit the form:

<%= hidden_field_tag "real_commit", "" %>
<%= button_to_function "Foo", "$('real_commit').value='Foo';$('myform').submit();" %>
<%= button_to_function "Bah", "$('real_commit').value='Bah';$('myform').submit();" %>

这篇关于扶手:remote_form_for不能使用多submit_tags玩很好的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆