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 :

debutant selection checkbox


Sujet :

JavaScript

  1. #1
    Membre très actif
    Homme Profil pro
    En rupture avec la societé
    Inscrit en
    Novembre 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : En rupture avec la societé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 144
    Par défaut debutant selection checkbox
    bonjour,

    dans le cadre de mon apprentissage en javascript, je cherche a récupérer la valeur lors du clic sur un checkbox.

    pour la validation du formulaire cela fonctionne. Mais pour la sélection individuel je ne comprend pas ce qu'il ne colle pas.

    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
     
    <!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>
    		<title></title>
    		<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    		<title>Untitled Document</title>
    		<script type="text/javascript">
    			//<!CDATA[
    			window.onload=setupEvents;
    			function setupEvents(evnt){
    				document.someForm.onsubmit=checkForm;
    				document.someForm.ckbox.onclick=dcheckBox;
    			}
     
    			function dcheckBox(evnt){
    				var buttons = document.someForm.ckbox;
     
    				for(var i=0;i<buttons.length; i++){
    					if(buttons[i].checked){
    						alert(buttons[i].value);
    						//txtSelect.value = buttons[i].value;
    					}
    				}
    				//Pas de traitement côté serveur : annuler l'envoi
    				return false;				
    			}
     
    			function checkForm(evnt){
    				var buttons = document.someForm.ckbox;
     
    				for(var i=0;i<buttons.length; i++){
    					if(buttons[i].checked){
    						alert(buttons[i].value);
    					}
    				}
    				//Pas de traitement côté serveur : annuler l'envoi
    				return false;
    			}
    			//]]>
    		</script>
    	</head>
    	<body>
    		<p>Sélection cases a cocher</p>
    		<form name="someForm" action="">
    			<input type="checkbox" name="ckbox" value="checkBox1" /> checkbox 1
    			<br/>
    			<input type="checkbox" name="ckbox" value="checkBox2" /> checkbox 2
    			<br/>
    			<input type="checkbox" name="ckbox" value="checkBox3" /> checkbox 3
    			<br/>
    			<input type="checkbox" name="ckbox" value="checkBox4" /> checkbox 4
    			<br/>
    			<input type="submit" value="Envoyer" />
    		</form>
    	</body>
    </html>
    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
    Par défaut
    le nom de tes checkbox n'est pas bon :

    ckbox remplace par ckbox[]

  3. #3
    Membre très actif
    Homme Profil pro
    En rupture avec la societé
    Inscrit en
    Novembre 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : En rupture avec la societé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 144
    Par défaut
    je ne vois pas pourquoi il faut nommé les checkbox de cette façon, puisque lors de la validation du formulaire, il sont identifié checked

  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
    Par défaut
    en fait ilS ne sont pas identifiés, uniquement celui que tu aura coché,
    et comme tu a le même nom , il te faut créer un tableau puis parcourir quelle valeur est envoyée ...

  5. #5
    Membre très actif
    Homme Profil pro
    En rupture avec la societé
    Inscrit en
    Novembre 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : En rupture avec la societé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 144
    Par défaut
    Le concept du tableau que tu met en avant est valable avec l'utilisation (java script et d'un langage serveur(php, asp,...)).

    j'ai malgré tout suivi ton conseil mais uniquement pour attribué l'évènement au chargement.
    Maintenant quand je clic un checkbox, il ne reste pas checked.

    je procède de cette façon
    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
     
    <!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>
    		<title></title>
    		<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    		<title>Untitled Document</title>
    		<script type="text/javascript">
    			//<!CDATA[
    			window.onload=setupEvents;
     
    			function setupEvents(evnt){
    				document.someForm.onsubmit=checkForm;
     
    				var buttons = document.someForm.ckbox;
    				for(var i=0;i<buttons.length;i++){
    					buttons[i].onclick=dcheckBox;	
    				}
     
    			}
     
    			function dcheckBox(evnt){
    				var buttons = document.someForm.ckbox;
    				var txtSelect = document.someForm.textSelect;
     
    				txtSelect.value = "";
     
    				for(var i=0;i<buttons.length; i++){
    					if(buttons[i].checked){
    						txtSelect.value += buttons[i].value;
    					}
    				}
    				//Pas de traitement côté serveur : annuler l'envoi
    				return false;				
    			}
     
    			function checkForm(evnt){
    				var buttons = document.someForm.ckbox;
     
    				for(var i=0;i<buttons.length; i++){
    					if(buttons[i].checked){
    						alert(buttons[i].value);
    					}
    				}
    				//Pas de traitement côté serveur : annuler l'envoi
    				return false;
    			}
    			//]]>
    		</script>
    	</head>
    	<body>
    		<p>Sélection cases a cocher</p>
    		<form name="someForm" action="">
    			<p><input type="checkbox" name="ckball" value="" />décoche tout</p>
     
    			<input type="checkbox" name="ckbox" value="checkBox1" /> checkbox 1
    			<br/>
    			<input type="checkbox" name="ckbox" value="checkBox2" /> checkbox 2
    			<br/>
    			<input type="checkbox" name="ckbox" value="checkBox3" /> checkbox 3
    			<br/>
    			<input type="checkbox" name="ckbox" value="checkBox4" /> checkbox 4
    			<br/>
    			<input type="text" name="textSelect" />
    			<input type="submit" value="Envoyer" />
    		</form>
    	</body>
    </html>

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    dans dcheckBox(evnt) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //Pas de traitement côté serveur : annuler l'envoi
    return false;
    Ce n'est pas l'envoi que tu annules mais le click sur la checkbox.
    Enlève le A+

  7. #7
    Membre très actif
    Homme Profil pro
    En rupture avec la societé
    Inscrit en
    Novembre 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : En rupture avec la societé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 144
    Par défaut
    Cela fonction a merveille et d'une logique déconcertante.
    merci beaucoup

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

Discussions similaires

  1. [Java][debutant]select count(*) ne retourne rien !!
    Par Invité dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 24/01/2007, 11h39
  2. [struts][debutant]input checkbox vs html checkbox
    Par venegan dans le forum Struts 1
    Réponses: 2
    Dernier message: 19/08/2005, 16h23
  3. [debutant] select-insert sur tables de bases differentes
    Par RedMax dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/10/2004, 18h59
  4. [debutant] selection des 6 derniers enregistrements
    Par LoLoSS dans le forum Langage SQL
    Réponses: 4
    Dernier message: 09/07/2004, 15h27
  5. [DEBUTANT] select vertical
    Par ericmart dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/01/2004, 22h25

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