- 1
[Opened] jForms poster en ajax
Posted by isepman on 04/14/2009 20:45
Je ne sais pas vraiment si cette question releve de jelix, mais je voudrais pouvoir tout simplement poster un formulaire jForms en ajax. Ce que j'ai toujours fait pour le moment (meme avec jelix, je sais, c'est mal), c'est éviter tout simplement les jforms, récupérer les données de mon formulaire, les serializer et les envoyer en ajax.
Le probleme (en fait y'a pas de probleme, ma méthode est tres moche mais fonctionnelle), c'est que j'aimerais rendre mon code plus beau et utiliser les jforms (qui sont bien pratiques). Mais c'est la que ca se complique: J'ai vu que declare_form (la méthode javascript), bindait un formulaire avec l'évemenement submit. Apres validation, si la vérification retourne "true", le formulaire est soumis comme un formulaire classique. Du coup, je me demande s'il faudrait pas rajouter un callback a la vérification qui enverrait le formulaire via la methode $.post de jquery et qui renverrait false tout le temps (pour éviter la soumission classique).
J'ai vu que la méthode end était appelée apres la vérification de l'objet errordecorateur, mais elle est appelée que lorsqu'il y a des erreurs. Est ce que c'est cette méthode que je dois utiliser? Ou alors y'a-t-il moyen, avec jquery de binder une autre fonction qui sera appelée entre la validation et le submit?
Je suis sur qu'il doit y avoir une solution toute simple a ce probleme mais (étant un peu newbie en javascript), je dois pas la connaitre... Quelqu'un aurait il la réponse?
Merci,
J'ai trouvé une parade a mon problème, il suffit de mettre une variable validated a false dans la fonction end() de son propre errorDecorator avant de lancer le traitement pour l'envoi par ajax. Mais je ne suis pas tres satisfait de cette technique, je regrette un peu le manque de doc coté javascript pour les jform. Y'aurait-il moyen de manipuler ces objets?
[Opened] Re: jForms poster en ajax
Posted by laurentj on 04/15/2009 10:22
Salut,
Solution la plus belle: créer un 'builder' specifique (en héritant du builder 'html' pour éviter de tout réécrire), qui génère du code JS comme tu le souhaites.
Sinon, en bricolant les event handler sur le submit, (enlever celui qui existe déjà et en attaché un autre de ton cru), tu devrais pouvoir t'en tirer.
- 1