2013-12-22 95 views
0

我在軌道下面的表單視圖:jQuery的隱藏表單提交按鈕點擊

<%= form_for :search do |f| %> 
     <%= f.label :search_by_name %> 
     <%= f.text_field :by_name %> 
     <%= f.submit 'Search' %> 
<% end %> 

在jQuery中,我可以做這樣的事情:

 $("h1").click(function(){ 
      $("h1").hide(); 
     }); 

這將導致所有h1標籤在點擊h1標籤時變得不可見。我怎樣才能讓我的整個表單通過點擊上面表單的「提交」按鈕而變得不可見?

編輯

也許這個問題比我想的要大一些。當我按照以下答案執行此操作時:

$("form").submit(function(){ 
     $(this).hide(); 
    }) 

表單變爲不可見,但隨後頁面立即重新加載並且表單再次可見。在重新加載頁面之前,它在一瞬間保持不可見狀態。有沒有一種方法可以在頁面之間傳遞這些影響,或者在不重新加載頁面的情況下顯示錶單結果?

編輯2

問題已解決。我將表單封裝在一個div類中,並將該ID傳遞到隱藏函數中,如下面的註釋中所述,這似乎工作。我不明白爲什麼這個頁面只是在實現並在傳入form時顯示錶單,但在傳遞id時沒有這種效果。但是,問題解決了。

+0

什麼是表格的ID?只需在你的隱藏功能中使用它。 –

+0

你想了解ajax,讀一些關於遠程表單的內容http://stackoverflow.com/questions/6723334/submit-form-in-rails-3-in-an-ajax-way-with-jquery – arieljuod

+0

Ajax,time咬住子彈。謝謝。 – Luigi

回答

1

嘗試

$("form").submit(function(){ 
     $(this).hide(); 
    }) 
0

在我看來,Ajax是你想要的東西(如@arieljuod說),但如果你只是想隱藏的形式,而不將數據傳遞到你可以阻止事件的服務器。

$("form").submit(function(e){ 
    e.preventDefault(); 
    $(this).hide(); 
})