IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Poster un formulaire en plusieurs étapes avec Ajax


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 273
    Par défaut Poster un formulaire en plusieurs étapes avec Ajax
    Salut à tous,

    J'aurais besoin de créer un formulaire divisé en 3 parties, quand je programmais sans Symfony j'avais découvert la bibliothèque "FormToWizard" qui est très pratique.
    J'aurais voulu produire quelque chose de semblable sous Symfony, j'aimerais aussi pouvoir soumettre le formulaire progressivement (lorsque l'on clique sur le bouton "Suivant", ça passe a la suite du formulaire a ça poste par la même occasion les données de la première partie)
    J'ai suivi le tuto Symfony2 et la méthode Ajax présent sur ce site, ça m'a plutot bien aidé a comprendre comment Ajax fonctionne sur Symfony mais j'ai encore du mal a saisir la façon de comment je peut poster les données du formulaire par mon script Ajax

    J'ai utilisé FireBug pour analyser à quoi ressemble le POST qui se fait sur un formulaire classique du FormBuilder, J'ai trouvé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    form%5Bfirstname%5D=dan&form%5Blastname%5D=iels&form%5Bemail%5D=emamk&form%5Bpassword%5D=cpodkz&form
    %5Busername%5D=pefodoekfp&form%5BcellNumber%5D=coefk&form%5BphoneNumber%5D=pelfp&form%5BdefaultNumber
    %5D=1&form%5Bbirthday%5D%5Bmonth%5D=1&form%5Bbirthday%5D%5Bday%5D=1&form%5Bbirthday%5D%5Byear%5D=2012
    &form%5Baddress%5D=pdkozkezpl&form%5Bcountry%5D=pldzlzpfk&form%5Bcity%5D=efegg&form%5BzipCode%5D=ehgheh
    &form%5B_token%5D=5Odrfu6qgiPv4YduaqzBcRxvy3cGGjAM8sBVaCmeUOc
    J'ai donc copié ça et je l'ai collé dans la DATA de mon script Ajax et ça fonctionne bien (avec les données qui sont déjà dedans bien entendu), mais je ne sais pas vraiment comment générer ce POST automatiquement depuis mon script

    Quelqu'un pourrait m'aider ?

    Merci d'avance !

  2. #2
    Membre Expert Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Par défaut
    Bonjour,

    Tu peux envisager un formulaire à étapes sans AJAX : le bundle CraueFormFlowBundle est fait pour répondre au besoin que tu décris.

    ++

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 273
    Par défaut
    A vrai dire.. mon choix de Ajax est volontaire, je ne le choisit pas obligation ^^
    Je ne cherche pas a faire un formulaire en étapes juste pour le coté esthétique mais surtout pour le coté pratique
    J'ai besoin de récupérer l'id de l'utilisateur inscrit (lors de la première étape) pour la seconde étape, donc si je fais pas l'inscription en plusieurs étapes, je peut pas correctement enregistrer les infos de l'utilisateurs (plusieurs entités)
    Et puis je trouve que Ajax rend l’expérience utilisateur plus attractive qu'un formulaire qui doit changer de page a chaque étape du formulaire

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Par défaut
    bonjour,
    pourquoi ne pas penser a stocker ces informations en session même principe que panier pour un site e-commerce.
    lors que dernier submit , ajax ou autre , les données seront enregistrés .

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 273
    Par défaut
    Étant donné que le champs id est auto-incrémenté lors de l'enregistrement d'une nouvelle ligne, comment je fais pour le récupérer alors qu'il n'est même pas créé (si je n'enregistre pas l'utilisateur dès la validation de la première étape)
    Tu voit le souci ?
    Mais de toutes façons ma question se pose surtout sur la "propreté" du procédé, j'arrive déjà a effectuer mes requêtes en Ajax, pour le formulaire en plusieurs étapes j'ai réussi à utiliser la bibliothèque FormToWizard que j'avais trouvé (tout le formulaire est chargé dans la même page mais séparé avec JavaScript grâce a des balises Fieldset, c'est plus dynamique comme ça) chaque Fieldset correspond a une section du formulaire, je n'ai donc qu'a créer 3 formulaires (chacun est censé hydrater un objet différent je pense) qui seront chacun postés par la requête Ajax correspondante et j'insère un form_widget(NomDeMonFormulaire) dans chaque Fieldset pour créer le tout

    Niveau propreté vous en pensez quoi ?

Discussions similaires

  1. Formulaire en plusieurs étapes avec vérifications
    Par Jexus11 dans le forum Langage
    Réponses: 6
    Dernier message: 30/04/2014, 15h44
  2. formulaire à plusieurs étapes avec la method post
    Par sam01 dans le forum Langage
    Réponses: 2
    Dernier message: 25/11/2010, 14h37
  3. Réponses: 2
    Dernier message: 07/08/2007, 16h24
  4. [AJAX] Enchainer plusieurs requêtes avec Ajax
    Par Bobtop dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/08/2006, 08h13
  5. [AJAX] Appel de plusieurs pages avec Ajax
    Par shadowbob dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 13/02/2006, 18h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo