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 :

[Symfony2]Ajout des champs dynamiquement via ajax


Sujet :

Symfony PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [Symfony2]Ajout des champs dynamiquement via ajax
    Bonjour à tous,
    Je suis en train de développer un site d'annonces et j'ai opté pour le framework Symfony2 qui me paraît pas mal.
    Mais je rencontre des difficultés depuis quelques jours sur les formulaires.
    Lors de la création d'une annonce, les champs affichés par défaut sont : titre, description, catégorie.
    Lors qu'un annonceur choisit une catégorie dans la liste déroulante, un appel ajax est lancé qui va chercher la liste des sous catégories. En fonction de la sous-catégorie sélectionné, je souhaite afficher les informations relatives à cette sous-catégorie.

    Par exemple, pour la catégorie Vehicules, il y a les sous-catégories "Voitures", "Moto", "Accessoires-Pièces".
    Si l'on choisit la sous-catégorie "Voitures", je souhaite afficher les champs relatifs à l'entité Voitures. Idem pour les autres sous-catégories.
    Ces entités héritent de mon entité Annonce (avec ORM\InheritanceType("JOINED")). Donc je ne peux pas les ajouter dans mon builderForm lors de la création du formulaire. Sinon, il faudrait que j'ajoute trop de champs dont la plupart ne seront pas utilisés.

    Si j'ajoute ces champs via Ajax, je ne pourrais pas les valider avec Symfony car ils ne seront pas associés à l'objet form de Symfony.
    J'ai regardé du côté de addEventListener. Mais ça ne peut pas regler mes problèmes car il faudrait que je les affiche en les cachant et que via javascript, je les affiche en fonction de la catégorie sélectionnée. Ca fait too much et trop de données inutilement ajouté au formulaire lors de sa création.

    Je me demande s'il y a un moyen via ajax d'exécuter une action dans le controleur qui va aller ajouter des champs dans mon objet AnnonceType et renvoyer le nouveau formulaire via ajax et l'afficher.

    Quelqu'un a t-il une solution ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Points : 396
    Points
    396
    Par défaut
    Bonjour,

    Tu risques d'avoir des difficultés pour obtenir des réponses ici : une section spéciale pour Symfony 2 existe ailleurs.

    Je te suggère de décrire ton problème ici :
    Forum Symfony 2

Discussions similaires

  1. [AC-2007] ajouter des champs dynamiquement
    Par xargin dans le forum VBA Access
    Réponses: 12
    Dernier message: 21/10/2011, 19h15
  2. [SP-2007] Ajouter des champs dynamiquement dans une cutom list
    Par takuan64 dans le forum SharePoint
    Réponses: 8
    Dernier message: 26/07/2010, 14h12
  3. ajouter des champs dynamiquement en javascript
    Par ncheboi dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/03/2010, 14h28
  4. Ajouter des champs dynamiquement
    Par lemirandais dans le forum jQuery
    Réponses: 2
    Dernier message: 25/02/2009, 13h41
  5. Réponses: 1
    Dernier message: 14/08/2006, 09h41

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