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 :

Récupérer variable avant/après soumission formulaire [4.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Par défaut Récupérer variable avant/après soumission formulaire
    Bonjour,

    Je débute avec symfony et je me prends la tête depuis quelques jours pour récupérer la valeure d'une variable dans un formulaire.

    J'ai besoin de faire un calcul en soustrayant un nombre de place sélectionné dans un input à celui qui est chargé initialement.

    Je ne sais pas si c'est très clair mais en gros j'ai 15 places qui s'affiche dans le input quand on arrive sur la page et je souhaiterais soustraire à cette valeure la le nombre sélectionné lors de la soumission.


    Mon controlleur:

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    /**
     * @ORM\Entity(repositoryClass="App\Repository\CamionRepository")
     * @UniqueEntity("immatCamion", message="Cette plaque d'immatriculation existe déjà dans la base.")
     */
    class Camion
    {
        /**
         * @ORM\Id()
         * @ORM\GeneratedValue()
         * @ORM\Column(type="integer")
         */
        private $id;
     
        /**
         * @ORM\Column(type="string", length=7, unique=true)
         * @Assert\Regex("/^[a-zA-Z]{2}[0-9]{3}[a-zA-Z]{2}$/")
         * @Assert\Length(
         * min=7, 
         * max=7, 
         * exactMessage="Merci de rentrer 7 caractères de cette forme AA123AA."
         * )
         */
        private $immatCamion;
     
        /**
         * @ORM\Column(type="integer")
         */
        private $nbrPlaces;
     
        /**
         * @ORM\Column(type="integer")
         * @Assert\Length(
         *     min = 1,
         *     max={"restePlaces"},
         *     minMessage = "Vous devez prendre en charge au moins une voiture dans le camion.",
         *     maxMessage = "Il n'y a pas assez de places disponibles dans ce camion."
         * )
         */
        private $restePlaces;
     
        /**
         * @ORM\Column(type="datetime", nullable=true)
         */
        private $heureDepart;
     
        /**
         * @ORM\Column(type="datetime", nullable=true)
         */
        private $heureArrive;
     
        /**
         * @ORM\ManyToOne(targetEntity="App\Entity\Trajet", inversedBy="camions")
         */
        private $trajet;
     
        public function __construct()
        {
            $this->restePlaces = $this->nbrPlaces;
        }
     
        public function getId(): ?int
        {
            return $this->id;
        }
     
        public function getNbrPlaces(): ?int
        {
            return $this->nbrPlaces;
        }
     
        public function setNbrPlaces(int $nbrPlaces): self
        {
            $this->nbrPlaces = $nbrPlaces;
     
            return $this;
        }
     
        public function getRestePlaces(): ?int
        {
            return $this->restePlaces;
        }
     
        public function setRestePlaces(int $restePlaces): self
        {
            $this->restePlaces = $restePlaces;
     
            return $this;
        }

    Mon twig:


    Code twig : 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
    {% if (camion.restePlaces > 0) %}
                {{ form_start(formCamion, {'action': path('ajout_trajet', {'camion': camion.id, 'trajet': trajet.id })}) }}
                    {% if (camion.restePlaces == 1) %}
                        <p class="btn-danger">Il est possible de ne charger qu'une voiture dans ce camion.</p>
                    {% elseif (camion.restePlaces > 1) %}
                        <p>Il reste {{ camion.restePlaces }} places dans ce camion.</p>
                        <div>
                            <p>Combien de voitures doivent être prises en charge ?</p>
     
                            {{ form_widget(formCamion.restePlaces) }}
     
                        </div>
                    {% endif %}
                    <p>Quel trajet voulez-vous faire ?</p>
                    {# récupérer les trajet #}
                    <div class="list-group list-camions">
                        {% for trajet in trajets %}
                            <div class="coul-altern list-group-item list-group-item-action flex-column align-items-start">
                                <div class="d-flex w-100 justify-content-between">
                                    <div class="list-group-item-action marg-right-btn">
                                        <div class="d-flex w-100 justify-content-between">
                                            {{ trajet.lieuDepart }}
                                            -->
                                            {{ trajet.lieuArrive}}
                                            <small>Temps de trajet : {{ trajet.temps | date('i') }} mn</small>
                                        </div>
                                    </div>
                                    <button type="submit" class="btn btn-success btn-supp-list-group">
                                        Sélectionner
                                    </button>
                                </div>
                            </div>
                        {% endfor %}
                    </div>
                {{ form_end(formCamion) }}


    {{ form_widget(formCamion.restePlaces) }} me charge une valeur lors de l'ouverture de la page.

    On fait une sélection sur la page et à la validation, je souhaiterais soustraire la valeur sélectionnée à la valeur affichée à l'ouverture de la page.

    Pouvez vous me diriger sur une piste ?

    Merci d'avance.

  2. #2
    Membre habitué
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Par défaut
    C'était tout simple.

    Il fallait simplement que je mette une variable temporaire avant mon formulaire

    Quand je vous disais être novice

    Je vais devoir replonger un peu dans les cours pour bien comprendre le déroulement des événements.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Redonner le focus après soumission formulaire
    Par freestyle83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 08/02/2014, 17h07
  2. [AJAX] Aucun callback Ajax après soumission formulaire
    Par Rony Rauzduel dans le forum jQuery
    Réponses: 2
    Dernier message: 17/10/2012, 09h40
  3. [AJAX] récupérer variable php après refresh
    Par hpl76 dans le forum AJAX
    Réponses: 0
    Dernier message: 18/10/2011, 21h09
  4. récupérer variable input d'un formulaire methode GET
    Par mims1664 dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2009, 23h42
  5. récupération de la valeur d'une variable avant la soumission du formulaire
    Par Dodielapatate dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 31/07/2007, 15h19

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