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 :

[DOM] limiter le coche des cases à cocher


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Points : 92
    Points
    92
    Par défaut [DOM] limiter le coche des cases à cocher
    Bonjour

    Pour la comparaison des produits il ya des cases à cocher alors l'internaute peux cliquer au miximum 3 case à cocher une fois qu'il clike sur une 4ème case il doit avoir un message lui disant qu'il a depasser le nombre de case qu'il pouvait cocher.

    Pouvez vous m'aider SVP
    Merci

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Salut
    En prenant le cas ou tes cases à cochées se trouvent dans une div avec un id :

    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
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans nom</title>
    <script type="text/javascript">
    function checkLesBox(macheckBox){
    	var listeInput = document.getElementById('tadiv').getElementsByTagName('input');
    	var nbCheckBocChecked =  0;
    	for(var i = 0; i < listeInput.length ; i++ ){
    		if(listeInput[i].type == "checkbox" && listeInput[i].checked){
    			nbCheckBocChecked ++;
    		}
    	}
    	if(nbCheckBocChecked > 3){
    		alert("Vous ne pouvez coché que 3 cases");
    		macheckBox.checked = false;
    	}
     
    }
    </script>
    </head>
     
    <body>
    <div id="tadiv">
    	<input type="checkbox" onchange="checkLesBox(this)" />
    	<input type="checkbox" onchange="checkLesBox(this)" />
    	<input type="checkbox" onchange="checkLesBox(this)" />
    	<input type="checkbox" onchange="checkLesBox(this)" />
    </div>
    </body>
    </html>
    bon courage

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Points : 92
    Points
    92
    Par défaut
    les checkbox sont générer dynamiquement le nombre dépends du nombre de ligne des resultats de la requête et c dans chaque ligne du tableau donc pas dans une même div

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    dans ce sac la tu as juste a adapter ma fonction en utilisant chaque ligne du tableau
    tu remontes a partir de la checkbox jusqu'a trouvé le tr ( via le dom parentNode .... ) puis tu récupères uniquement les checkbox de cette ligne , c'est très simple donc je te laisse chercher un peu

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Points : 92
    Points
    92
    Par défaut
    membre éclaré éclaire moi stp. mais jè compris je vais fouiner un peu

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    voila ...

    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans nom</title>
    <script type="text/javascript">
    function checkLesBox(macheckBox){
    	ligne = returnTrParent(macheckBox);
    	var listeInput = ligne.getElementsByTagName('input');
    	var nbCheckBocChecked =  0;
    	for(var i = 0; i < listeInput.length ; i++ ){
    		if(listeInput[i].type == "checkbox" && listeInput[i].checked){
    			nbCheckBocChecked ++;
    		}
    	}
    	if(nbCheckBocChecked > 3){
    		alert("Vous ne pouvez coché que 3 cases");
    		macheckBox.checked = false;
    	}
     
    }
     
    function returnTrParent(element){
    	var temp = null;
    	var elemParent = element.parentNode ;
    	if(elemParent.tagName == "TR"){
    		elemParent = elemParent;
    	}
    	else if(elemParent.tagName == "TABLE"){
    		alert("Ligne non trouvée");
    		elemParent = null;
    	}
    	else{
    		temp = returnTrParent(elemParent);
    	}
    	return elemParent;
    }
    </script>
    </head>
     
    <body>
    <div id="tadiv">
    <table>
    <tbody>
    <tr><td>
    	<input type="checkbox" onchange="checkLesBox(this)" />
    	<input type="checkbox" onchange="checkLesBox(this)" />
    	<input type="checkbox" onchange="checkLesBox(this)" />
    	<input type="checkbox" onchange="checkLesBox(this)" />
    	</td>
    </tr>
    <tr><td>
    	<input type="checkbox" onchange="checkLesBox(this)" />
    	<input type="checkbox" onchange="checkLesBox(this)" />
    	<input type="checkbox" onchange="checkLesBox(this)" />
    	<input type="checkbox" onchange="checkLesBox(this)" />
    	</td>
    </tr>
    <tr><td>
    	<input type="checkbox" onchange="checkLesBox(this)" />
    	<input type="checkbox" onchange="checkLesBox(this)" />
    	<input type="checkbox" onchange="checkLesBox(this)" />
    	<input type="checkbox" onchange="checkLesBox(this)" />
    	</td>
    </tr>	
    </tbody>
    </table>
    </div>
    </body>
    </html>

  7. #7
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Points : 92
    Points
    92
    Par défaut
    j'y étai presque mais merci pour le tuyo.

  8. #8
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Points : 92
    Points
    92
    Par défaut
    merci j'ai testé et ça marche

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/03/2006, 16h48
  2. Comment ajouter des cases à cocher
    Par @yoyo dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 23/03/2006, 10h16
  3. Problèmes avec des cases à cocher et une liste déroulante
    Par rob2-9 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/01/2006, 10h52
  4. calcul sur des cases à cocher
    Par karidrou dans le forum Access
    Réponses: 3
    Dernier message: 06/12/2005, 11h40
  5. Réponses: 5
    Dernier message: 25/11/2004, 09h11

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