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 :

onclick fonction dans twig


Sujet :

Symfony PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut onclick fonction dans twig
    Bonjour,

    Je cherche à contrôler lorsque l'utilisateur coche un checkbox unique :

    Exemple : deux checkbox l'un a la valeur toto et l'autre titi . L'utilisateur ne doit pouvoir que sélectionner un seul de ces deux choix.

    Via une fonction "onclick" mais je ne sais pas comment je dois faire pour l'implémenter .

    Voici mon code :

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    {% extends 'base.html.twig' %}
     
    {% block title %}Nouvelle Commande{% endblock %}
     
    {% block body %}
        {{ parent() }}
        <h1>Nouvelle Commande</h1>
        </br>
        <div class="form-row">
            <div class="col-md-2"></div>
            <div class="form-group col-md-6">
                {{ include('commande/_form.html.twig') }}
     
                {{ form_widget(form.Ville, {'attr': {'class': 'ville'}}) }}
            </div>
        </div>
        <a href="{{ path('mes_commandes_show') }}">Retournez à ma liste de commandes</a> <br>
        <a href="{{ path('tableau_bord') }}">Retour tableau de bord </a>
    {% endblock %}
     
    {% block menu %}{% endblock %}
    {% block footer %}{% endblock %}
     
     {% block javascripts %}
     {{ parent() }}
         <script>
            alert("SALUT ! ")
            var calais = "CALAIS";
            var boulogne = "BOULOGNE";
     
          var resultatToutesLesCouleurs = document.querySelector('[id=commande_toutesLesLettres]').value;
     
          
     
          var resultat =  document.querySelector('[id=commande_Ville]').value.toUpperCase();
     
            if( resultat == calais || resultat == boulogne){
                var emplacement = document.querySelector('[id=commande_emplacementDivision]').value;
                    if(emplacement.isEmpty()){
                        alert("Pour Boulogne et Calais, le champ emplacement est obligatoire !");
                    }
                    alert("Le champ ville est égale à calais ou boulogne");
            }
         </script>
    {% endblock %}

    Mon form :

    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
    <?php
     
    namespace App\Form;
     
    use App\Entity\Commande;
    use App\Entity\Couleur;
    use Symfony\Bridge\Doctrine\Form\Type\EntityType;
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
    use Symfony\Component\Form\Extension\Core\Type\FileType;
    use Symfony\Component\Form\Extension\Core\Type\RadioType;
    use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\OptionsResolver\OptionsResolver;
     
    class CommandeType extends AbstractType
    {
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
     
            $builder
                ->add('idClient')
                ->add('saisiPar')
                ->add('Ville')
                ->add('cimetiere')
                ->add('emplacementDivision')
                ->add('rang')
                ->add('caser')
                ->add('numeroCons')
                ->add('sansDivision')
                ->add('nomDuDefunt')
                ->add('gravures')
                ->add('joindreDemandeTravaux', FileType::class, ['label' => 'Demande travaux PDF'
                ,'data_class' => null])//array('data_class' => null,'required' => false, 'label_attr' => 'custom-file-input', 'attr' => 'inputGroupFile01', 'label' => 'joindreDemande'))
                ->add('joindreImage', FileType::class, ['label' => 'Joindre image PDF'
                    ,'data_class' => null])//array('data_class' => null,'required' => false, 'label' => 'joindreImage'))
                //array('data_class' => null,'required' => false,
                ->add('OR', CheckboxType::class)
                ->add('Peinture')
                ->add('emplacementGravure')
                ->add('toutesLesLettres', CheckboxType::class)
                ->add('partielle', CheckboxType::class)
                ->add('motif')
              //  ->add('dateCommande')
                ->add('autrePrecisez')
     
                ->add('autreCouleurPrecisez', entityType::Class, [
                        'class' => Couleur::class,
                        'choice_label' => 'nomCouleur',
                        'choice_value' => 'id',
                        'multiple' => 'false',
                    ])
     
                ->add('detailCommande')
                ->add('detailTravaux')
            ;
        }
     
        public function configureOptions(OptionsResolver $resolver)
        {
            $resolver->setDefaults([
                'data_class' => Commande::class,
            ]);
        }
     
    }

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Exemple : deux checkbox l'un a la valeur toto et l'autre titi . L'utilisateur ne doit pouvoir que sélectionner un seul de ces deux choix.
    Du coup c'est pas des checkbox mais des radio button qu'il faut utiliser. Ca évite de venir ajouter du js pour rien
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    Oui certe je suis d'accord avec toi mais je n'ai pas trouvé comment fonctionne les radios avec symfony 4. J'ai cru que je pouvais forcer le type mais après ça faut faire un groupe pour les deux éléments du radio mais je ne sais pas trop comment faire. Tu peux m'aider ?

Discussions similaires

  1. [2.x] Récupérer la valeur d'une fonction dans twig
    Par ilya-bhn dans le forum Symfony
    Réponses: 3
    Dernier message: 13/03/2015, 12h28
  2. [2.x] Fonction onClick dans twig
    Par laupas dans le forum Symfony
    Réponses: 1
    Dernier message: 22/03/2012, 19h14
  3. [JS] Appeler ma fonction dans OnClick
    Par fadeninev dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/12/2006, 00h13
  4. Réponses: 6
    Dernier message: 16/11/2005, 20h43
  5. Enchainer des fonctions dans un onclick d'un bouton
    Par jpg dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/10/2004, 16h51

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