You need a closure. onComplete: function (response) { NamedActionResponseHandler(theElement, response); }
Is that what you mean? Greg > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:rails-spinoffs- > [EMAIL PROTECTED] On Behalf Of Erin Brewer > Sent: Monday, April 10, 2006 10:18 AM > To: rails-spinoffs@lists.rubyonrails.org > Subject: [Rails-spinoffs] Prototype Ajax - How to pass my own params > toonComplete ? > > Sorry if this has been covered before, i can't imagine it hasn't, but > i've been unable to find any information on it. > > Can i pass my own parameters to the onComplete function specified by > Ajax.Request ? > > My basic setup is i have an html element triggering an event (the ajax > update). > I have additional information encoded into the element about how it > should handle different response codes returned from the ajax event. > The problem is, i havn't figured out a way to specify the id of my > element to be passed along to the onComplete function, so right now i > just stick it in a global js variable before the ajax call and then look > it up in my on Complete function, but thats pretty hacky. > > I suppose i can pass the elementId as a param to my ajax call, and have > the responder return it as part of the response codes, but that seems > kinda weak as well. > > Is there no way to keep my current context when the ajax onComplete > function is triggered? > > Here's my trimmed down code sample: > ----------------------------------- > //global reference to the element invoking the action > var NamedActionElement; > > function NamedActionHandler(theElement) > { > //set our global reference to the element so we can access it in > later > functions > //since ajax calls take us to other functions and we can't seem to > pass > it along > NamedActionElement = theElement; > > //skip setting up my vars for the ajax call > > //make the ajax call > var ajaxCall = new Ajax.Request( urlCall, > {method: 'post', > postBody: postFormData, > onComplete: NamedActionResponseHandler} > ); > } > > function NamedActionResponseHandler(theResponse) > { > var elementThatTriggeredEvent = NamedActionElement; > > //do stuff based on values i have encoded into the element and > //the data returned in theResponse > } > > ---------------------- > > As you can see, i have to have this global variable so my onComplete > function can know which element triggered the event. > Is there a way to pass my own argument to the onComplete function? > > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Rails-spinoffs mailing list > Rails-spinoffs@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails-spinoffs _______________________________________________ Rails-spinoffs mailing list Rails-spinoffs@lists.rubyonrails.org http://lists.rubyonrails.org/mailman/listinfo/rails-spinoffs