Returning from the callback functions of Ajax.Updater doesn't actually 
return the value to the scope that called the original function, as far 
as I know.  Your callback function has been called from within the 
Ajax.Updater object and I suspect that you're values are being returned 
to methods of that object and not to where you want them to go.  Off the 
top of my head, you might be better off using the Event.observe() 
function.  You can then observe() the action of form submission and then 
use Event.stop() to halt the submission rather than return false.  
Something like this could work (emphasis on could, it's a Monday and my 
coffee's not done):

Event.observe($("some_form_id"), "submit", function(event) {
    /* ... prepare for Ajax here ... */

    new Ajax.Updater("Pseudo", "check.php...", {
       method: "get",
       onComplete: function(t) {
          if(t.responseText == "success") {
             /* ... handle success ... */
          } else {
             /* ... handle failure ... */
             Event.stop(event);                 
          }
       }
    });
}

Using a closure, if I understand the term correctly, on the event 
variable within your onComplete callback should halt further processing 
of your event, just like returning false to an onsubmit event of a form 
would do. 

Also, I noticed when working on the above pseudo-code that you've named 
your callback function; that's a no-no.  The callbacks are meant to be 
either anonymous (i.e., without a name) or a specified function defined 
elsewhere.  You've tried to mix the two defining a function inline with 
the Ajax.Updater options object but also giving them a name.  This could 
also be a problem for you.

 - Dash -

[EMAIL PROTECTED] wrote:
> hi guys
>
> sry for my question; dont really know how to fix this
>
> ve got a form to submit but return true everytime!!!
> tx for help :)
>
> <script type="text/javascript" language="javascript">
> function disponibilitePseudo (idImg)
> {
> var pseudoToTest =  $('pseudo').value;
> imgPseudo = idImg;
>
> if (pseudoToTest != "")
>     {
>
>                               new Ajax.Updater(
>                               'Pseudo',
>                               
> 'check.php?pseudo='+pseudoToTest+'&Date='+escape(new Date()),
>                               {
>                               method:'get' ,
>                               onComplete:
>                                       function succesRetourAjax (t)
>                                               {
>                                               if (t.responseText == "succes")
>                                                       {
>                                                       // 
> Element.update("retourPseudo","available");
>                                                       $(imgPseudo).src = 
> 'good.gif';
>                                                       Element.hide("Pseudo");
>                                                       return true;
>                                                       }
>                                               else
>                                                       {
>                                                       
> Element.show("retourPseudo");
>                                                       
> Element.update("Pseudo","Not available");
>                                                       $(imgPseudo).src = 
> 'wrong.gif';
>                                                       return false;
>                                                       }
>                                               }
>                               }
>                               );
>       }
> }
>
> function checkForm()
> {
> return disponibilitePseudo('imgPseudo');
> }
> </script>
>
>
> >
>
>   

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Spinoffs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to