Récuper la valeur d'une checkbox [Résolu]

taxitat 38 Messages postés mercredi 28 novembre 2007Date d'inscription 18 mars 2009 Dernière intervention - 12 déc. 2007 à 16:23 - Dernière réponse : geniprogramme 6 Messages postés mardi 10 janvier 2006Date d'inscription 13 mai 2011 Dernière intervention
- 30 avril 2011 à 01:17
Bonjour,

Voilà, dans ma page, j'ai plusieurs checkbox. Je voudrais pouvoir en récuper la valeur. Voilà mon example schématisé:

<html>
<head>

<script language="JavaScript">
<!--
function valider(choisir) {
valeur = document.choisir.check;
for (var i=0;i<valeur.length;i++) alert("Vous avez choisi: "+valeur[i].value)
}



//-->
</script>
</head>









<form id='choisir' name='choisir' method=get action="javascript:void(0)" onSubmit="valider(this); return false;">










</form>

</html>


C'est à dire, le résultat actuel c'est 4 fenêtres "alert". Je voudrais une seule "alert" avec "Vous avez choisi: +la valeur de la/des case(s) cochée(s)". J'ai cherché sur le forum et j'ai trouvé des solutions un peu différentes dont je me suis inspiré mais rien n'a marché...

Pouvez-vous m'aider svp?

Merci
Afficher la suite 

11 réponses

Répondre au sujet
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 12 déc. 2007 à 16:59
+3
Utile
Bonjour,

<html>
<head>
<script type="Text/JavaScript">
function valider()
{  var valeur = document.choisir.chk;
    var tmp="";
    for (var i=0;i < valeur.length; i++)
    {    if ( valeur[i].checked )
        {    tmp+=" "+valeur[i].value;    }
    }
    alert("Vous avez choisi: "+tmp);
}

</script>
</head>

<form id='choisir' name='choisir' method=get action="javascript:void(0);"
        onSubmit="valider(); return false;">

</form>

par exemple

( un ID doit être unique dans une page )

<hr />                Cordialement            Bul        
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_bultez
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 13 déc. 2007 à 16:18
+3
Utile
>>
tmp=" "+valeur[i].value;  

    1° il vaut mieux mettre var tmp, sinon c'est une variable
             globale, ce qui ne sert à rien ici

    2° si on ne met pas +=, seul le dernier checkbox coché
             sera signalé. il peut y en avoir plusieurs.
             pour 1 seul coché possible utiliser
          et dans ce cas, dès que trouvé : faire break; pour ne pas
             poursuivre la boucle inutilement.



<hr />                Cordialement            Bul        
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_bultez
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 12 déc. 2007 à 18:34
+2
Utile
>> je n'étais pas très loin.
    c'est vrai

et si tu veux transmettre vers le serveur mattre name="chk[]"
    avec les crochets et modifier
        valeur = document.choisir["chk[]"];
        et document.choisir["chk[]"][index]<hr />                Cordialement            Bul        
Commenter la réponse de cs_bultez
taxitat 38 Messages postés mercredi 28 novembre 2007Date d'inscription 18 mars 2009 Dernière intervention - 12 déc. 2007 à 17:06
0
Utile
Excellent! Alors, je n'étais pas très loin. Merci pour le tuyaux à propos des ID que j'ignorais.

Merci beaucoup.
Commenter la réponse de taxitat
taxitat 38 Messages postés mercredi 28 novembre 2007Date d'inscription 18 mars 2009 Dernière intervention - 13 déc. 2007 à 15:56
0
Utile
Est-ce par un problème de compatibilité qu'on n'écrit pas? cela me semble un peu plus facile, non?
function valider()
{  var valeur = document.choisir.chk;
      for (var i=0;i < valeur.length; i++)
    {    if ( valeur[i].checked )
        {    tmp=" "+valeur[i].value;    }
    }
    alert("Vous avez choisi: "+tmp);
}
Commenter la réponse de taxitat
taxitat 38 Messages postés mercredi 28 novembre 2007Date d'inscription 18 mars 2009 Dernière intervention - 13 déc. 2007 à 16:29
0
Utile
Franchement, j'apprends sur le tas et ce n'est pas facile! je trouve même que c'est subtile! Des fois ça me semble facie et des fois, je l'impression de ne pas y comprendre grand chose... Merci pour l'aide!
Commenter la réponse de taxitat
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 13 déc. 2007 à 16:45
0
Utile
>>j'apprends sur le tas
    y' qu'ça d'vrai  ( c'est plus long,difficile... souvent qu'avec des cours )

>>et ce n'est pas facile!
    des cours avec des prof... peuvent ( parfois ) aider, au moins au début.
    et pas toujours, parce que c'est souvent du grand n'importe quoi !
    d'ailleurs si c'était facile, ce ne serait pas drôle et on ne serait pas payé
        aussi grassement   ;o))

>>,j'ai l'impression de ne pas y comprendre grand chose
    on en est tous là... sauf quelques pédants stupides





<hr />                Cordialement            Bul        
Commenter la réponse de cs_bultez
CosmicAline 13 Messages postés dimanche 9 mai 2004Date d'inscription 29 novembre 2012 Dernière intervention - 31 janv. 2011 à 18:44
0
Utile
Salut !
Merci pour ce post c'est exactement ce que je cherchais!!!!
Par contre si je dois faire l'écriture dans une div plutôt que dans une fenêtre alerte comment dois-je modifier ?

merci merci
++
Commenter la réponse de CosmicAline
CosmicAline 13 Messages postés dimanche 9 mai 2004Date d'inscription 29 novembre 2012 Dernière intervention - 1 févr. 2011 à 12:38
0
Utile
Salut

En fait c'est bon il suffisait de remplacer la fonction alert par :

document.getElementById('l-id-de-la-div').innerHTML=tmp;
Commenter la réponse de CosmicAline
geniprogramme 6 Messages postés mardi 10 janvier 2006Date d'inscription 13 mai 2011 Dernière intervention - 30 avril 2011 à 00:51
0
Utile
bonjour tout le monde
moi aussi j'ai problème similaire sauf que moi j'ai plusieurs checkbox donc j'ai utiliser le nom comme ça nom[] pour récupérer le tableau après avoir envoyer mon formulaire sauf que je recupere le tous les case cochés et non cochés alors que mon besoin est de recuperer que ceux cochés sans passer par javascript juste du php
s'il y a une idée merci de me la transmettre car vraiment chui bolqué la
Commenter la réponse de geniprogramme
geniprogramme 6 Messages postés mardi 10 janvier 2006Date d'inscription 13 mai 2011 Dernière intervention - 30 avril 2011 à 01:17
0
Utile
bonjour tout le monde
moi aussi j'ai problème similaire sauf que moi j'ai plusieurs checkbox donc j'ai utiliser le nom comme ça nom[] pour récupérer le tableau après avoir envoyer mon formulaire sauf que je recupere le tous les case cochés et non cochés alors que mon besoin est de recuperer que ceux cochés sans passer par javascript juste du php
s'il y a une idée merci de me la transmettre car vraiment chui bolqué la
Commenter la réponse de geniprogramme

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.