Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [Résolu] Création de Formulaire Multiple avec les JForms

Posted by avamac on 09/23/2010 19:11

Bonjour à tous,

Voici mon problème : Est-ce possible d'afficher plusieurs JForms sur une même page puis d'effectuer une insertion dans les DAO associés une fois le formulaire rempli ?

Ma solution maison ... qui ne fonctionne pas : J'ai fait une classe qui me permet de fusionner les JForms grâce aux méthodes de la classe jFormsBase (getControls/removeControl ). En gros j'obtiens un Gros JForm avec mes Formulaires. Donc pour l'affichage tout est bon.

Le problème c'est que dès que je récupère mon contenu de formulaire, j'ai un message d'erreur comme quoi le Token est invalide, et qu'il faut remplir le formulaire sur le site.

La classe que j'ai développé prend tous les jFormsControl des formulaires à fusionner. Ensuite elle supprime tous les jFormsControl du premier formulaire. Elle insère tous les jFormsControl de tous les formulaires dans des jFormsControlGroup (un par formulaire).

Si quelqu'un a une solution je suis preneur.

Merci.

  [Opened] Création de Formulaire Multiple avec les JForms

Reply #1 Posted by foxmask on 09/23/2010 19:50

Bonsoir, ça ne peut pas fonctionner justement à cause du token généré par jForms.

une solution possible pour avoir un gros form, est de le générer à la volée via des $form->addControl() dans le contrôleur.


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] Création de Formulaire Multiple avec les JForms

Reply #2 Posted by avamac on 09/24/2010 18:28

J'utilise déjà cette méthode. Le problème vient après pour la récupération des données avec jForms::fill(sélecteur) Cette méthode me récupère uniquement les informations du JForms de base sans les JFormsControls que j'ai rajouté à la volée.

NB : Merci pour la réponse très rapide d'hier soir.

  [Opened] Création de Formulaire Multiple avec les JForms

Reply #3 Posted by avamac on 09/24/2010 18:34

J'ai ma réponse (Je vais tester tout ca en faisant un second appel à la classe):

Il faut savoir qu'il faut ajouter ces champs à chaque fois que vous créez ou récupérez le formulaire. En effet, à chaque fois que vous récupérer un formulaire avec jForms::get() ou jForms::fill(), jForms instancie toujours l'objet form à partir de ce qui est décrit dans le fichier XML (qui est traduit en classe PHP) et donc sans votre champs. C'est pourquoi il faut ajouter votre champs non seulement à la creation avant l'affichage, mais aussi avant son remplissage avec les données soumises.

  [Opened] [résolu] Création de Formulaire Multiple avec les JForms

Reply #4 Posted by avamac on 09/24/2010 18:55

Test effectué : Tout passe donc si quelqu'un est intéressé, j'ai une classe qui permet de mettre plusieurs JForms dans un seul et unique formulaire. Ce qui permet par exemple

 -> JForm de profil
 -> JForm d'utilisateur
 -> ... 
  = Un Formulaire => traitement classique des données ensuite
 
Page
  1. Création de Formulaire Multiple avec les JForms