Envoie de formulaire sans chargement

Eléphanteau du PHP | 40 Messages

02 mai 2007, 17:38

Bonjour,

Voila, je suis en train de développer un bout de site en AJAX, et je suis face à un problème trés stupide:

J'ai un formulaire, et je souhaite que quand on envoie ce formulaire, ça lance une fonction javascript (fait avec onSubmit="login()"), mais le problème est qu'il recharge la page quand j'envoie le formulaire, et n'éxecute donc pas le fonction.

Quelqu'un pourrait-il m'aider??

merci :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

02 mai 2007, 17:43

Tu peux soit remplacer ton bouton submit par un simple bouton de type "button" et faire l'appel à ta fonction sur l'événement onClick, ou bien renvoyer "false" à la fin du onSubmit() pour que le formulaire ne soit pas envoyé :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 40 Messages

02 mai 2007, 17:56

Ba j'ai essayé en renvoyant false avec ma fonction, mais ça marche pas terrible, j'ai du me planté, la sysntaxe c'est bien: onSubmit="return login();" ou pas???

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

04 mai 2007, 12:38

La syntaxe est bonne... mais il faut effectivement t'assurer que ta fonction renvoi false à chaque fois pour ne pas envoyer le formulaire. Tu pourrais aussi l'écrire ainsi pour que le formulaire ne soit jamais envoyé :

Code : Tout sélectionner

onSubmit="login(); return false;"
Nota : l'action onSubmit n'est déclenchée que par une soumission via un input de type submit (ou image) et n'est pas appellée lors d'une soumission via document.formulaire.submit()
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...