Html 具有相同作用的两种形式
我的rails应用程序中有两个表单。它们都存在于单独的选项卡中,当我提交一个表单时,我希望另一个表单中的数据也能保存。我该怎么做?或者有没有更好的方法来代替使用两种不同的形式?是否有更好的方法将长表单扩展到多个选项卡,当我按submit时,所有选项卡中的所有数据都应该到达我的操作。谢谢。您可以扩展一个表单以覆盖两个表单的所有元素 这是完全可以的,只要表单标记有效地适合于X/HTMLHtml 具有相同作用的两种形式,html,ruby-on-rails,forms,Html,Ruby On Rails,Forms,我的rails应用程序中有两个表单。它们都存在于单独的选项卡中,当我提交一个表单时,我希望另一个表单中的数据也能保存。我该怎么做?或者有没有更好的方法来代替使用两种不同的形式?是否有更好的方法将长表单扩展到多个选项卡,当我按submit时,所有选项卡中的所有数据都应该到达我的操作。谢谢。您可以扩展一个表单以覆盖两个表单的所有元素 这是完全可以的,只要表单标记有效地适合于X/HTML <form action='action1'> <!-- All elements fr
<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将结果发送到服务器
看
也许有更好的方法可以做到这一点,但我想不出任何现成的方法。我现在无法测试这个概念是否可行,但我相信您可以使用jQuery来实现这一点,它的提交功能将截取任何选项卡上的所有表单提交,类似于这些内容
$("form").submit(function(event){
event.preventDefault();
//serialize forms here and submit using jquery post
});
您应该在字段中查找方法。您可以这样做:
<% 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])
这是一个更新,但你可以做任何你想在那里