2012-02-14 67 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时阻止该远程调用。

相关问题