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 :

Remplir le contenu d'un select en AJAX


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur PHP5
    Inscrit en
    Novembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur PHP5

    Informations forums :
    Inscription : Novembre 2006
    Messages : 63
    Par défaut Remplir le contenu d'un select en AJAX
    Bonjour,

    Je cherche à renseigner le contenu d'un SELECT en Ajax cependant il semble que Symfony n'apprécie pas qu'on change les valeurs d'un champ en JS après qu'il ait été chargé d'une certaine manière par le framework.

    J'ai trouvé une manière un peu bancale de le faire :
    - charger toutes les valeurs de mon entité dans le champs (qui est en display:none) au chargement de la page
    - les changer par celle que je veux et rendre le champs visibles.

    Il semblerait que Symfony n'accepte que les valeurs qu'il a chargé au chargement de la page comme valeur valide (un peu gênant dans mon cas mais assez sécurisé quand on y pense : ça evite que des malins n'utilisent Firebug pour mettre le souk dans la BDD )

    Quelqu'un saurait-il comment faire ça de manière clean ?

    d'avance

  2. #2
    lr
    lr est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Par défaut
    J'ai un peu le même problème. Je fais un gestionnaire de TODO. Quand on saisit une tâche, on peut lui attribuer une tâche parent.

    Donc dans le formulaire de saisie de tâche, j'ai un champs select qui contient les tâches existantes.

    Le problème c'est qu'il y a de plus en plus de tâches existantes et que ça devient difficile de s'y retrouver dans cette liste.

    Alors j'aimerais pour voir sélectionner la tâche parent grâce à un autocomplete ou alors en filtrant par tags (car une tâche peut être associée à des tags).

    Comment faire ça?

    Merci d'avance

  3. #3
    Membre confirmé Avatar de Legenyes
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 174
    Par défaut
    Ce petit composant vous fera sans doute plaisir :
    http://ivaynberg.github.io/select2/

  4. #4
    lr
    lr est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Par défaut
    En effet c'est très intéressant, merci

    Un exemple d'intégration avec symfony serait idéal

    Mais peut-être qu'il s'agit principalement de modifications coté template et que coté form/controller rien ou très peu ne change.

    Je vais essayer bientôt, encore merci

  5. #5
    lr
    lr est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Par défaut
    Fantastique, ça marche à merveille et l'intégration avec Symfony2 ne pose aucun problème puisqu'il s'agit juste d'un javascript externe qui prend tout en charge sans cause la moindre interférence

  6. #6
    Nouveau candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2014
    Messages : 2
    Par défaut Symfony et select2
    Bonjour,

    Je suis intéressée pour appliquer select2 à un champ de mon formulaire Symfony.
    J'ai un peu de mal à le mettre en place, pouvez-vous me guider dans les étapes que vous avez effectué pour y aboutir ?

    Toutefois j'ai réussi en associant select2 proposé par genemuFormBundle et avec un fichier js et php que j'ai écris moi-même. Mais il me génère cette erreur lors de la soumission du formulaire :

    Catchable Fatal Error: Argument 1 passed to lr\TestBundle\Entity\Comptage::setIdSite() must be an instance of lr\TestBundle\Entity\Site, string given, called in /home/lr/Bureau/Symfony/vendor/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyAccessor.php on line 438 and defined in /home/cenlr/Bureau/Symfony/src/lr/TestBundle/Entity/Comptage.php line 1237
    A savoir mon champ idSite auquel je souhaite appliquer select2 est lié à la classe de mon formulaire (Comptage) par une relation ManyToOne.
    Je ne comprends pas l'erreur et je pense ne pas avoir eu la bonne démarche, c'est pourquoi je vous sollicite.

    Merci par avance de vos informations !

  7. #7
    Membre expérimenté

    Inscrit en
    Juin 2008
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 307
    Par défaut
    Citation Envoyé par hubux Voir le message
    Bonjour,

    Je cherche à renseigner le contenu d'un SELECT en Ajax cependant il semble que Symfony n'apprécie pas qu'on change les valeurs d'un champ en JS après qu'il ait été chargé d'une certaine manière par le framework.

    J'ai trouvé une manière un peu bancale de le faire :
    - charger toutes les valeurs de mon entité dans le champs (qui est en display:none) au chargement de la page
    - les changer par celle que je veux et rendre le champs visibles.

    Il semblerait que Symfony n'accepte que les valeurs qu'il a chargé au chargement de la page comme valeur valide (un peu gênant dans mon cas mais assez sécurisé quand on y pense : ça evite que des malins n'utilisent Firebug pour mettre le souk dans la BDD )

    Quelqu'un saurait-il comment faire ça de manière clean ?

    d'avance
    C'est exactement ça c'est lié à la validation de donnée.

    cf : http://symfony.com/fr/doc/current/re...es/entity.html

    Et c'est tout a fait normal, si la valeur que tu essais de sauvegarder en clef étrangère n'existe pas tu vas avoir des problème d'intégrité dans ta base de donnée.

    Il faut d'abord créer les entités que tu souhaites voir apparaître dans ta liste déroulante.

    Après ci c'est juste parce que tu souhaites que la valeur affiché dans la liste déroulante ne soit pas l'id de l'entité, mais un autre champs, il faut que tu implémente la fonction to string dans ton entité (tu peux par exemple renvoyer le champs label...)

    Si tu veux restreindre les valeur dans la liste déroulante, tu peux le faire en utilisant une requête personnalisée (cf : doc du lien plus haut)

Discussions similaires

  1. [2.x] Remplir dynamiquement un champ select avec ajax
    Par paquito dans le forum Symfony
    Réponses: 11
    Dernier message: 31/01/2014, 19h20
  2. [2.x] Charger dynamiquement le contenu d'un <select> par AJAX
    Par Pahcixam dans le forum Symfony
    Réponses: 6
    Dernier message: 07/03/2013, 18h55
  3. remplir un select avec ajax
    Par gtraxx dans le forum jQuery
    Réponses: 4
    Dernier message: 12/06/2009, 09h31
  4. contenu DIV et select()
    Par Kerod dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/08/2006, 01h24
  5. Récupérer le contenu d'un select
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/08/2005, 15h38

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