两个form_tags一个submit_tag

时间:2013-01-01 15:02:28

标签: ruby-on-rails ruby-on-rails-3 forms

一直试图解决这个问题已经有一段时间了,并且想知道是否有办法在rails中执行此操作而不是使用jquery / javascript(尽管尝试使用jquery已经证明是不成功的。

我有两个form_tags搜索不同的api,每个都有自己的submit_tag,工作正常。我想要实现的是能够使用一个submit_tag,然后提交已填写的表单

   <h3>Search Movies</h3>
   <%= form_tag main_results_path, :method => "get", :id => 'submitMovie' do %>
   <%= text_field_tag 'search', nil, :placeholder => 'Enter Film Name Here.....', :id => 'movieForm' %>
   <%= submit_tag "search" %>

   <% end %>


  <h1>OR</h1>

  <h3>Search Albums</h3>
  <%= form_tag album_album_results_path, :method => "get", :id => 'submitAlbum' do %>
  <%= text_field_tag 'search', nil, :placeholder => 'Enter Artist Name here.....', :id => 'albumForm' %>
  <%= submit_tag "search" %>

  <% end %>

这可以在铁轨中使用吗?

由于

1 个答案:

答案 0 :(得分:2)

表单的提交方式与Rails无关:表单由浏览器处理。单击按钮将始终提交按钮所属的表单。如果你需要一个表格之外的按钮Javascript / jQuery是要走的路:

$(document).ready(function(){
    $('#yourButton').click(function(){
        var formToSubmit;
        if( $('#movieForm').val() ){
            formToSubmit='#submitMovie';
        }
        else if( $('#albumForm').val() ){
            formToSubmit='#submitAlbum';
        }
        if(formToSubmit!==null){
            $(formToSubmit).submit();
        }
        return false;
    });
});