我在我的Rails应用程序中有两种形式。它们都存在于单独的选项卡中,当我提交一个表单时,我希望另一个表单中的数据也被保存。我应该怎么做?或者有没有更好的方法来做到这一点,而不是使用两个单独的表单?是否有更好的方式将长表单分散到多个选项卡中,并且当我按下提交所有选项卡中的所有数据时应该达到我的操作。谢谢。两种形式具有相同的动作
2
A
回答
5
您可以展开一个表单来覆盖这两种表单的所有元素。
只要表单标签符合X/HTML标准,这就完全可以。
<form action='action1'>
<!-- All elements from both forms, plus tabs, etc. -->
</form>
要考虑的唯一的事情是,如果有将永远是那个区域,将需要去到另一个动作中的另一种形式。例如,如果添加第三个选项卡,则在其他两个选项卡之间添加第三个选项卡,这将具有不同的操作。
你不想落得像:
<form action='action1'>
<!-- elements from the combined forms -->
<form action='action2'>
<!-- elements for a totally different form, not valid inside another form -->
</form>
<!-- more elements from the combined forms -->
</form>
在这种情况下,这将是更好巩固在提交使用JavaScript时两种形式。
jQuery(jquery.com)会使这非常容易。例如,您可以序列化两个表单,然后将它们连接起来并通过post或get将结果发送到服务器。
请参阅http://docs.jquery.com/Ajax/serialize。
可能有更好的方法来做到这一点,但我想不出任何我的头顶。
1
我无法测试,如果这个概念作品的权利,但我相信,你可以使用jQuery实现这一目标,其提交功能将拦截任何选项卡上的所有表单提交,东西沿着这些线路
$("form").submit(function(event){
event.preventDefault();
//serialize forms here and submit using jquery post
});
0
你应该看看fields_for方法。你可以做这样的事情:
<% form_for @house do |f| %>
<%= f.text_field :square_feet %>
<% fields_for @listing do |s| %>
<%= s.hidden_field :id %>
<%= s.text_field :asking_price %>
<% end %>
<%= f.submit %>
<% end %>
然后在你的控制你会做这样的事情:
house = House.find(params[:id])
house.update_attributes(params[:house])
listing = Listing.find(params[:listing][:id])
listing.update_attributes(params[:listing])
这是一个更新,但你可以做任何你在那里想。
相关问题
- 1. 具有相同FormGroup的两种形式?
- 2. 在asp.net中具有相同输入ID的两种形式mvc
- 3. MVC视图有两种形式,为什么都呈现相同的动作?
- 4. 一种形式的两个动作
- 5. 创建具有相同的z顺序为另一种形式
- 6. SoapException具有相同的消息但具有不同的形式
- 7. 2种不同的动作形式
- 8. 具有两种不同功能的按钮在一种形式中
- 9. 具有相同ID的Android两种不同的SharedPreference类型
- 10. 德尔福:以两种不同的形式显示相同的图形
- 11. 一种形式,一种按钮,两种动作?
- 12. 两种不同形状的BSTS威尔阵列形式总是具有不相等的阵列
- 13. 使用上两种不同的形式
- 14. C#两种形式访问相同的类数据
- 15. 我想为两页有两种不同的形式
- 16. Inkspace:如何具有多种形状完全相同的梯度
- 17. 具有两种几乎相同的方法的Java抽象类
- 18. 多种动作形式
- 19. django:两种形式,但只有一种形式是节省
- 20. ASP.NET两种形式
- 21. 有两种形式,其中包含相同的单选按钮组?
- 22. 两个活动中的两个ListViews具有相同的值
- 23. codeigniter - 具有多种形式的页面
- 24. 具有相同动作名称
- 25. 模型有两种不同的形式是安全的吗?
- 26. 具有相同的输入名称多种形式的输出第一形式发布信息
- 27. ASP.NET中的两种形式
- 28. 具有相同形状的案例类?
- 29. 这两种形式的for-loop有什么不同吗?
- 30. 一种形式两项行动