我有一个link_to_remote,我想确保人们只能在等待它返回时点击一次。
有人点击它后有没有一种好方法可以禁用它? (更改链接的文本也很好,但我也想要禁用它以确保)。
这是Ruby on Rails btw。
答案 0 :(得分:3)
您无法禁用链接,但您可以更改href,例如。
所以你可以使用:before或:使用javascript加载钩子来“禁用”链接。
答案 1 :(得分:3)
我最终更换了以前的链接:像Edgard建议的那样:
<div id="parent">
<%= link_to_remote "Click Here",
{:url => "/some_long_url",
:method => :post,
:before => "$('#parent').html('#{escape_javascript(link_to("Click Here"))}');"} %>
</div>
注意这使用JQuery。如果你正在使用原型,你可能需要将'.html'方法更改为等效的原型(我相信'.update')。
然后在进行AJAX调用之后,它会重新绘制link_to_remote,例如......
render :update do |page|
page.replace_html 'parent', :partial => 'partial_containing_your_link_to_remote', :locals => {}
end
第一部分中的link_to_remote应该在同一部分中以保持DRY