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 :

Question submit sur formulaires multiples


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 29
    Par défaut Question submit sur formulaires multiples
    Bonjour, je débute avec Symfony, j'ai une page avec plusieurs formulaires avec chacun un bouton submit et je souhaite pouvoir les valider indépendamment.
    Cependant je n'y parviens pas, en effet lorsque je soumets toutes les lignes de ma tables changent, ou alors la dernière (peu importe sur quel bouton j'appuie).

    Voici mon ActuType.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
     
    namespace newsBundle\Form;
     
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\OptionsResolver\OptionsResolver;
    use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
    use Symfony\Component\Form\Extension\Core\Type\SubmitType;
     
     
    class ActuType extends AbstractType
    {
        /**
         * @param FormBuilderInterface $builder
         * @param array $options
         */
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder
                ->add('title')
                ->add('actu')
                ->add('catid', ChoiceType::class, array('choices' => array('Syndicat'=>1,'Interne'=>2,'Petite enfance'=>3), 'choices_as_values' => true,))
                ->add('save',SubmitType::class,array('label' => 'Sauvegarder'))
            ;
        }
     
        /**
         * @param OptionsResolver $resolver
         */
        public function configureOptions(OptionsResolver $resolver)
        {
            $resolver->setDefaults(array(
                'data_class' => 'newsBundle\Entity\Actu'
            ));
        }
    }
    et voici ma fonction dans mon controleur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    public function editAction(Request $request)
       {
           $repository = $this->getDoctrine()->getRepository('newsBundle:Actu');
           $products = $repository->findAll();
     
     
           foreach($products as $product)
           {
               $form = $this->createForm(ActuType::class, $product);
               $tabform[] = $form->createView();
     
           }
     
            $form->handleRequest($request);
     
               if ($form->isValid() && $form->isSubmitted()) {
                    $em = $this->getDoctrine()->getManager();
                    echo "test";
                    $em->persist($product);
                    $em->flush();
     
               }
    j'ai tenté plusieurs manipulation, mais je ne vois pas comment faire pour que chaque bouton soit lié à l'entité en question.
    Merci de m'avoir lu.

  2. #2
    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,
    a mon avis , pour faire simple , pourquoi ne pas créer plusieurs form ($form , $form1 ..) , chaque modification est codé à l'interieur de la boucle isValid de la form en question !
    une form n'est pas validé et biensur non submité ne sera plus prise en compte

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Juillet 2013
    Messages : 6
    Par défaut Ajax
    Bonjour bonjour !

    Il va falloir utiliser un peu d'ajax pour valider indépendamment chaque formulaire .

    Simplement, tu cible le formulaire grâce à l'id qui est auto-généré par symfony et tu envoie une requête POST en Ajax avec un retour dynamique qui va changer l'apparence du formulaire pour montrer qu'il est validé.

    C'est plus simple qu'il n'y paraît .

    Bonne chance !

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 29
    Par défaut
    bonjour,
    a mon avis , pour faire simple , pourquoi ne pas créer plusieurs form ($form , $form1 ..) , chaque modification est codé à l'interieur de la boucle isValid de la form en question !
    une form n'est pas validé et biensur non submité ne sera plus prise en compte
    Bonjour, merci de m'avoir répondu, le soucis est que je ne peux pas créer les formulaires en dur étant donné que leur nombre dépend du nombre de lignes dans la base de donnée.

    Bonjour bonjour !

    Il va falloir utiliser un peu d'ajax pour valider indépendamment chaque formulaire .

    Simplement, tu cible le formulaire grâce à l'id qui est auto-généré par symfony et tu envoie une requête POST en Ajax avec un retour dynamique qui va changer l'apparence du formulaire pour montrer qu'il est validé.

    C'est plus simple qu'il n'y paraît .

    Bonne chance !
    Hum cela m'a l'air intéressant, je ne connais pas du tout l'ajax mais je vais regarder ça ! Merci

Discussions similaires

  1. Syntaxe sur formulaire multiple
    Par cedrick21 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 08/02/2012, 16h50
  2. [MySQL] petite question sur formulaire
    Par michka999 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/08/2006, 18h44
  3. plusieurs questions sur formulaire de contact
    Par pp51 dans le forum Langage
    Réponses: 7
    Dernier message: 13/06/2006, 13h24
  4. Réponses: 6
    Dernier message: 23/05/2006, 15h12
  5. plusieurs boutons submit sur un formulaire
    Par clement42 dans le forum Struts 1
    Réponses: 1
    Dernier message: 12/05/2006, 10h42

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