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

JavaScript Discussion :

Checkbox et submit


Sujet :

JavaScript

  1. #1
    Membre actif
    Homme Profil pro
    Autodidacte
    Inscrit en
    Ao�t 2020
    Messages
    30
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : Autodidacte
    Secteur : Administration - Collectivit� locale

    Informations forums :
    Inscription : Ao�t 2020
    Messages : 30
    Par d�faut Checkbox et submit
    Bonjour � tous,

    Je me permets de vous exposer mon projet o� je rencontre un probl�me.

    Je r�alise un formulaire o� je demande � un individu de r�aliser 3 choix sur 5 propositions. J'utilise des checkbox.

    Je souhaite ne pas lui donner la possibilit� de faire plus de 3 choix (avec un petit message qui s'affiche)

    Ceci je suis arriv� � le faire:

    Code html : 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
    <form action="http://xxxxxxx.php" method="post" enctype="multipart/form-data" name="formSaisie1" target="_self" onSubmit="return soumissionOk(this)">
     
    ...
     
    <input name="image1" type="checkbox"  class="photo" id="1" onClick="doAction()">
    <input  name="image2" type="checkbox" class="photo" id="2" onClick="doAction()">
    <input  name="image3" type="checkbox" class="photo" id="3" onClick="doAction()">
    <input  name="image4" type="checkbox" class="photo" id="4" onClick="doAction()">
    <input  name="image5" type="checkbox" class="photo" id="5" onClick="doAction()">
     
    ...
     
    <input type="submit" name="Suivant" id="Suivant" value="Suivant">
     
    ...
     
    <script>
    function doAction(){
    var max = 3;
    var z = 0;
    var checkboxes = document.getElementsByClassName("photo");
    for (var i = 0; i < checkboxes.length; i++) {
    if (checkboxes.item(i).checked == true){
    z++
    if (z > max) {
    checkboxes.item(i).checked = false;
    alert('Vous ne pouvez pas faire plus de 3 choix.')
    }}}}
    </script>

    Je souhaiterai aussi l'obliger � faire trois choix (et pas moins) pour qu'il puisse envoyer le formulaire. S'il ne fait pas 3 choix, je ferai appara�tre un petit message du genre "Vous devez faire 3 choix"

    J'ai essay� en mettant z<max mais, � chaque fois que je clique sur une case � cocher, il me mets mon message d'erreur "vous devez faire 3 choix". Par exemple, je s�lectionne un choix, message d'erreur, je s�lectionne un 2eme choix, message d'erreur, etc. Je souhaiterai que se soit � la validation du formulaire (envoi) que le message d'erreur s'affiche.

    Je pense que c'est au niveau du "clic" validation du formulaire que cela doit se jouer. Et si c'est le cas, je ne sais pas comment faire.

    Est-ce que quelqu'un d'entre vous aurez une id�e pour m'aider ?

    Merci � tous

    A bient�t

    Bruno

  2. #2
    Expert confirm�
    Avatar de ProgElecT
    Homme Profil pro
    Retrait�
    Inscrit en
    D�cembre 2004
    Messages
    6 132
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 69
    Localisation : France, Haute Savoie (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Retrait�
    Secteur : Communication - M�dias

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 6 132
    Par d�faut
    Salut

    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
    function doAction(){
    var max = 3;
    var z = 0;
    var checkboxes = document.getElementsByClassName("photo");
    for (var i = 0; i < checkboxes.length; i++) {
      if (checkboxes.item(i).checked == true){
        z++
        if (z > max) {
          checkboxes.item(i).checked = false;
          alert('Vous ne pouvez pas faire plus de 3 choix.')
          exitFunction = true
          breack; // <=== sort de la boucle .... et de la function
        }
      }
     }
    }
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont d�pann�s.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Expert confirm�

    Avatar de -Nikopol-
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2013
    Messages
    2 174
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 50
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 174
    Billets dans le blog
    5
    Par d�faut
    une autre solution, mettre un �couteur d'�v�nement sur l'input de type submit, �a evite de lancer la fonction � chaque click sur une checkbox. Ca permet aussi de verifier que le nombre n'est pas inf�rieur � 3
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    const btnSubmit = document.querySelector('#Suivant');
            btnSubmit.addEventListener('click', (e) => {
                const checkboxes = document.querySelectorAll("input[type=checkbox]:checked")
                if (checkboxes.length !== 3) {
                    console.log(e)
                    e.preventDefault();
                    alert('Vous ne devez selectionner que 3 items')
                }
            })
    PS: utilise const ou let plutot que var, et il est preferable de mettre des ecouteurs d'evenement (addeventlistener) que des fonctions dans les attributs onclick du html.

  4. #4
    Membre actif
    Homme Profil pro
    Autodidacte
    Inscrit en
    Ao�t 2020
    Messages
    30
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : Autodidacte
    Secteur : Administration - Collectivit� locale

    Informations forums :
    Inscription : Ao�t 2020
    Messages : 30
    Par d�faut
    Bonjour Nikopol,

    Merci beaucoup, �a marche super bien.

    Du coup, j'ai modifi� pour const

    Encore merci

    Bruno

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. D�cochage d'une checkbox avec submit
    Par davidlariv dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 2
    Dernier message: 16/12/2014, 15h16
  2. checkbox et submit
    Par charmail dans le forum Langage
    R�ponses: 10
    Dernier message: 01/09/2011, 12h36
  3. [.Net 2][VS2005] Treeview et checkbox submit
    Par mediateur59 dans le forum ASP.NET
    R�ponses: 4
    Dernier message: 20/08/2007, 10h18
  4. Garder la selection des checkbox apres submit
    Par etoileDesNeiges dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 2
    Dernier message: 01/06/2007, 13h39
  5. submit on click sur un checkbox
    Par amika dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 17/05/2005, 15h48

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