Checkbox javascript

Fermé
Brunodurant Messages postés 13 Date d'inscription dimanche 14 novembre 2021 Statut Membre Dernière intervention 23 août 2022 - 18 nov. 2021 à 21:43
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 - 19 nov. 2021 à 06:47
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:


<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"

Et là, c'est bête mais je ne vois plus ce que je dois faire.

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

Merci à tous

A bientôt

Bruno

1 réponse

jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
18 nov. 2021 à 22:21
Bonjour

Pareil que pour
if (z > max) 
mais avec le signe inférieur...
1
brunodurant42
19 nov. 2021 à 05:51
Bonjour Jordane

Merci , j'avais essayé cette solution mais elle n'a pas fonctionné. Quand je mets inférieur, à 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 vois pas comment faire. Mais je peux me tromper....

Merci et a bientôt

Bruno
0
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705 > brunodurant42
Modifié le 19 nov. 2021 à 06:47
Il faut faire cette vérification lors du submit de la form et non lors du click sur une case.
0