2012-02-14 22 views
0

我試着這樣做:link_to_remote:如果javascript變量爲false,我該如何中止操作?

<%= link_to_remote '', {:url => { :action=> :edit_content, 
     :id=>content.id, 
     :controller=>@contents_controller}, 
     :before=>"false;", 
     :complete => "click_content_after();"}, 
    :class=>'edit' %> 

但仍鏈接...執行塊有鏈接的行爲沒有任何影響了。

有一個:確認選項,但我不想那裏總是一個對話框...因爲我有js變量,看着頁面的狀態。

回答

1

您可以通過傳入JavaScript代碼段:condition可選參數而不是:before來自定義瀏覽器側呼叫邏輯。閱讀link_to_remote API documentation

我在我舊的Rails 2.3.2應用程序中測試過它,並且按預期工作。當:condition => "true"進行遠程呼叫時,而不是:condition => "false"

<%= link_to_remote "Temp", :update => "temp_update", :url => { :action => "temp" }, 
    :condition => "false", :complete => "alert('complete!');" %> 
0

link_to_remote只有在:complete返回false時纔會中止。

1

您可以添加在進行遠程調用之前應評估的:condition參數(例如:condition=>"return false;"),並在遠程調用返回false時阻止該遠程調用。

相關問題