I always try to go for the onSuccess (and failure) events.. maybe just the complete to toggle some status messaging or something..
On Nov 26, 9:27 pm, Sean McArthur <[email protected]> wrote: > If I understand correctly, when the handler executes the function you're > defining, you send the result to a JSON Remote (a server). It's most likely > an asynchronous request, so therefore the onComplete isn't going to execute > until the request finishes. You can't get that value and return it like > you're doing now. > > You'll need to make the onComplete access the captcha and set its success > itself. > > So, again, the onComplete executing last is *expected* behavior. > > > > On Fri, Nov 26, 2010 at 12:21 PM, Rolf -nl <[email protected]> wrote: > > exactly.. create a fiddle and it'll be solved sooner than later :) > > > On Nov 26, 8:12 pm, אריה גלזר <[email protected]> wrote: > > > please use jsfiddle. mail is hardly a good place for us to read and debug > > > your code > > > > On Fri, Nov 26, 2010 at 8:22 PM, machadoug <[email protected]> wrote: > > > > @Oskar, > > > > That's what I had done since the beginning. I just posted that code as > > > > an example. > > > > I've tried the code below but it does not work: > > > > this.setHandler('sicaptcha', > > > > function (value) { > > > > var result; > > > > var url = 'plugins/content/captcha_systems/securImage2/ > > > > securimage_json.php'; > > > > var jSonRequest = new Json.Remote(url, {onComplete: > > > > function(response){ > > > > if(response.action == 'success'){ > > > > return true; > > > > }else{ > > > > return false; > > > > } > > > > } > > > > }).send(Json.toString({'captcha_code':value})); > > > > } > > > > ); > > > > > @Andrea, > > > > Yes, the JSON is valid. The same code works in this script: > > > > > window.addEvent('domready', function(){ > > > > $('captcha_code').addEvent('blur', function(e) { > > > > var url = ' > >http://localhost/joomla/1.5.12/plugins/content/ > > > > captcha_systems/securImage2/securimage_json.php'; > > > > var log_res = 'si_captcha_log_res'; > > > > $(log_res).addClass('ajax-loading'); > > > > $(log_res).setStyle('display', 'block'); > > > > $(log_res).setHTML('Cheking...'); > > > > > var jSonRequest = new Json.Remote(url, {onComplete: > > > > function(response){ > > > > //did it return as good, or bad? > > > > if(response.action == 'success'){ > > > > //email is already in use > > > > > $('captcha_code').removeClass('invalid'); > > > > > $('captcha_code').addClass('success'); > > > > $(log_res).setHTML('Code is > > > > correct'); > > > > }else{ > > > > > $('captcha_code').removeClass('success'); > > > > > $('captcha_code').addClass('invalid'); > > > > $(log_res).setHTML('Wrong > > validation > > > > code'); > > > > } > > > > $(log_res).removeClass('ajax-loading'); > > > > } > > > > > }).send(Json.toString({'captcha_code':$('captcha_code').value})); > > > > }); > > > > > }); > > > > -- > > > Arieh Glazer > > > אריה גלזר > > > 052-5348-561 > > > 5561
