1

一段时间以来一直试图解决这个问题,并且想知道是否有一种方法可以在 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 %>

这在rails中可能吗?

谢谢

4

1 回答 1

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;
    });
});
于 2013-01-01T15:16:31.020 回答