Prevent Rails link_to_remote multiple submits w Javascript
- by Chris
In a Rails project I need to keep a link_to_remote from getting double-clicked. It looks like :before and :after are my only choices - they get prepended/appended to the onclick Ajax call, respectively. But if I try something like:
:before => "self.stopObserving()"
t,he Ajax is never run. If I try it for :after the Ajax is run but the link never stops observing.
The solutions I've seen rely on creating a variable and blocking the whole form, but there are multiple link_to_remote rows on this page and it is valid to click more than one of them at a time - just not the same one twice. One variable per row declared outside of link_to_remote seems very kludgey...
Instead of using Prototype I originally tried plain Javascript first for this proof of concept - but it fails too:
<a href="#" onclick="self.onclick = function(){alert('foo');};"click</a
just puts up an alert when clicked - the lambda here does nothing? This next one is more like the desired goal and should only alert the first time. But instead it alerts every time:
<a href="#" onclick="alert('bar'); self.onclick = function(){return false;};"click</a
All ideas appreciated!