Récupération valeur

Résolu
dodo1309 Messages postés 218 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 30 mai 2011 - 30 août 2007 à 19:39
dodo1309 Messages postés 218 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 30 mai 2011 - 31 août 2007 à 16:37
Bonjour

je posséde 30 checkbox et l'utilisateur ne peut en choché que 3 sur les 30

je voudrai savoir comment récupérer la valeur des 3 checkbox cochée dans 3 variables différentes

merci d'avance

20 réponses

cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
31 août 2007 à 15:00
bonjour dodo
donc voici la fonction javascript :

var nbMax = 3;
var nbChecked = 0;
 
  function ctrlnb(obj){
    if (obj.checked){
        nbChecked ++;
        if (nbChecked<4){
            document.getElementById("valeur"+nbChecked).value = obj.value;
        }else{
            alert("Vous avez deja cocher trois cases");
            obj.checked = false;
            nbChecked--;
        }
    }else{
        if (document.getElementById("valeur1").value==obj.value){
            document.getElementById("valeur1").value="";
        }else{
            if(document.getElementById("valeur2").value==obj.value){
                document.getElementById("valeur2").value="";
            }else{
                document.getElementById("valeur3").value="";
            }
        }
        nbChecked--;
    }
  }

et il te suffit de rajouter les tro champ hidden suivant dans ton formulaire :

j'espere avoir pu t'aider


Personne ne peut se permettre de juger l'autre....
3
dodo1309 Messages postés 218 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 30 mai 2011
30 août 2007 à 22:47
j'ai essayer ceci:

for($i=0;$i<31;$i++){




if(isset($_POST['q34']) ){




 if ($q34m1=="") { 
 $q314m1=$i;
     }
     
 else
 {
 
   if ($q34m2==""){
   $q314m2=$i;
   }
   else
   {
   $q314m3=$i;
   }
   
 }
}
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
30 août 2007 à 22:55
je serais toi j'essayerais peux etre de faire une fonction javascript que tu appel sur le onlick de tes checkboxs et qui attribut une valeur a un champ input du type hidden
(bien sur il te faut 3 champ hidden)
je sais pas si c'est la meilleur solution donc jespere t'aider un peu n'hesite pas a me demander si tu ne comprend pas


Personne ne peut se permettre de juger l'autre....
0
dodo1309 Messages postés 218 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 30 mai 2011
30 août 2007 à 23:00
euh peut m'expliquer plus car je ne cromprend pas

merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
30 août 2007 à 23:11
alor dabord la fonction javascript :
function attribut_valeur(var valeur){
if (document.getElementById("valeur1").value= =""){
document.getElementById("valeur1").value=valeur;
}else{
if (document.getElementById("valeur2").value==""){
document.getElementById("valeur2").value==valeur;
}else{
document.getElementById("valeur3").value=valeur;
}

ensuite pour ton formulaire tu rajoute trois champs :


et ensuite sur chaque checbox tu rajoute :
onClick ="attribut_valeur(this.value);"

voila en gros il ya surment des erreur de syntaxe car je vien de faire ca vite fait
Personne ne peut se permettre de juger l'autre....
0
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
30 août 2007 à 23:14
Salut,
Je peux t'aider si tu veux il faudrait juste que tu mets le code HTML des checkbox stp

For every choice, a consequence (Fable)
0
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
30 août 2007 à 23:15
Oups j'ai oublié de réactualiser la page depuis le temps -_-" désolé du dérangement j'analyse et je te donne la réponse après =)

For every choice, a consequence (Fable)
0
dodo1309 Messages postés 218 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 30 mai 2011
30 août 2007 à 23:30
j'ai déja une fonction dans le onclick

puisje l'integrer de cette manière :

var nbMax = 3;
  var nbChecked = 0;
 
  function ctrlnb(obj)
  {
    if (obj.checked)
     
 {
      nbChecked ++;
    }
    else
    {
      nbChecked --;
    }
   
    if (nbChecked > nbMax)
    {
      obj.checked = '';
      nbChecked --;
       alert('Nombre maximun de mots choisi attiend');
    }
 
valeur = obj.value
 
  if (document.getElementById("valeur1").value==""){
document.getElementById("valeur1").value=valeur;
}else{
if (document.getElementById("valeur2").value==""){
document.getElementById("valeur2").value==valeur;
}else{
document.getElementById("valeur3").value=valeur;


alert(document.getElementById("valeur1").value);


  }

meci d'avance
0
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
30 août 2007 à 23:37
Alors je dirais qu'il ne faut pas faire un système par javascript car il suffit de désactiver javascript pour que celà ne fonctionne plus...
En revanche javascript peut avertir si l'on coche plus de 3 cases.

(J'ai pas testé j'ai pas de serveur sous la main)
1- Sur chaques checkbox tu rajoutes : "onclick="javascript: check_box(this);"".
2- Tu rajoutes le javascript suivant :
var nb = 0;
function check_box(box){
 else {
  if (box.value === true) {
   if (nb === 3) alert("Vous avez déjà fait vos 3 choix.");
   else nb++;
  }
  else nb--;
 }
}
3- Essayes ce code PHP pour récuperer tes checkbox :
<?php
$i = -1;
while (isset($_POST['q'.++$i])) {
 if (!empty($_POST['q'.$i])) {
  if (!isset($case1)) $case1 = $i;
  elseif (!isset($case2)) $case2 = $i;
  elseif (!isset($case3)) $case3 = $i;
  else {
   // Ce qu'il faut faire s'il y a plus de 3 choix.
  }
 }
}
if (!isset($case1) OR !isset($case2) OR !isset($case3)) {
 // Ce qu'il faut faire s'il y a moins de 3 choix.
}
?>

For every choice, a consequence (Fable)
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
30 août 2007 à 23:38
tu devrai peut etre mettre la fin du code a partir de valeur = obj.value;
dans un else apre le if (nbChecked>nbMax){


Personne ne peut se permettre de juger l'autre....
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
30 août 2007 à 23:41
ca pe peut etre marcher ce que dit audalys mais pareil si le javascript est desactiver on pourra cocher plusieur check


Personne ne peut se permettre de juger l'autre....
0
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
30 août 2007 à 23:56
Regardes de plus près mon code PHP : il y a deux commentaires au cas où tes conditions ne sont pas respecter : à toi de renvoyer le formulaire avec un message d'erreur ;-)

For every choice, a consequence (Fable)
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
30 août 2007 à 23:58
c vrai j'avais pas fais gaffe desoler...


Personne ne peut se permettre de juger l'autre....
0
cs_JCML Messages postés 5 Date d'inscription mercredi 16 août 2006 Statut Membre Dernière intervention 31 août 2007
31 août 2007 à 00:16
bonsoir,

essaie comme ca si tes checkbox ont toutes le meme nom : choix

echo "<form action='casesacocher1.php' method='POST'>\n";
$i=1;
foreach ($_POST['choix'] as $valeur)
{
echo "<input type='hidden' name='choix$i' value='$valeur' \n";
$i++;
}

mais une condition si $i supérieure à 3
0
dodo1309 Messages postés 218 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 30 mai 2011
31 août 2007 à 00:19
 sebastien_et_typh :

J'ai nomé les champs hidden comme cela : hid1 --> hid3

et quand je fais
echo($_POST["hid1"]."
");
echo($_POST["hid2"]."
");
echo($_POST["hid3"]."
");

en cochant les 3 première cela ne m'affiche rien 1

le code et comme cela :

var nbMax = 3;
  var nbChecked = 0;
 
  function ctrlnb(obj)
  {
    if (obj.checked)
     
 {
      nbChecked ++;
    }
    else
    {
      nbChecked --;
    }
   
    if (nbChecked > nbMax)
    {
      obj.checked = '';
      nbChecked --;
       alert('Nombre maximun de mots choisi attiend');
    }
   else {
 
valeur = obj.value
 
  if (document.getElementById("valeur1").value==""){
document.getElementById("valeur1").value=valeur;
}else{
if (document.getElementById("valeur2").value==""){
document.getElementById("valeur2").value==valeur;
}else{
document.getElementById("valeur3").value=valeur;



  }



}
  }
0
dodo1309 Messages postés 218 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 30 mai 2011
31 août 2007 à 00:24
deuxième test :

je choche les check 4,5,6

résultat de

echo($_POST["hid1"]."
");
echo($_POST["hid2"]."
");
echo($_POST["hid3"]."
");

est 1 et deux ligne vide ( logique --> les 2
)

merci d'avance

le code de mes checkbox est :

     
        ----

                     
   
             
            Anormalit&eacute;,
                     
   
             
            Anormalit&eacute;,
                     
   
             
            Aptitudes,
                     
   
             
            Authenticit&eacute;,
                     
   
             
            Capacit&eacute;,
       
        ----

                     
   
             
            Citoyen,
                     
   
             
            Comp&eacute;tences,
                     
   
             
            Courage,
                     
   
             
            D&eacute;favoris&eacute;,
                     
   
             
            D&eacute;ficience,
       
        ----

                     
   
             
            D&eacute;pendance,
                     
   
             
            D&eacute;savantage,
                     
   
             
            Difficult&eacute;s,
                     
   
             
            Diminu&eacute;,
                     
   
             
            Egalit&eacute;,
       
        ----

                     
   
             
            Energie,
                     
   
           
           
          Exclusion,
                               
           
            Force,
                     
   
             
            Habilet&eacute;s,
                     
   
             
            Incapacit&eacute;,
       
        ----

                     
   
             
            Inf&eacute;riorit&eacute;,
                     
   
             
            Infirmit&eacute;,
                     
   
             
            Int&eacute;gration,
                     
   
             
            Limitation,
                     
   
             
            Malheureux,
       
        ----

                     
   
             
            Probl&egrave;mes,
                     
   
             
            Souffrance,
                     
   
             
            Talent,
                     
   
             
            Valeur,
                     
   
             
            Volont&eacute;,
       
     
 
0
dodo1309 Messages postés 218 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 30 mai 2011
31 août 2007 à 00:27
audayls



je regarderai à ton code tout à l'heure

@+
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
31 août 2007 à 11:09
$b){
echo 'la checkbox '.$a.'
';
}

t'as la meme solution ici :
http://www.phpcs.com/infomsg_CHECK-BOX_1003739.aspx#5
et la :
http://www.phpcs.com/infomsg_SUPPRIMER-ELEMENTS-COCHES-TABLE-DYNAMIQUE_1003529.aspx#2

conclusion, t'as pas trop cherche avant de poster
0
dodo1309 Messages postés 218 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 30 mai 2011
31 août 2007 à 11:44
euh j'avais déja ces post ( le premier c'est lun des miens)

mais moi je ne cherche pas à lister les checkbox cheked mais je veux mettre la valeur des 3 checkbox dans 3 variable différente car c'est résultat vont être envoyé ds une bdd mysql
0
dodo1309 Messages postés 218 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 30 mai 2011
31 août 2007 à 16:37
oui merci
0
Rejoignez-nous