begin process at 2012 05 29 11:07:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Nombre de Checkbox cochée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Nombre de Checkbox cochée

mardi 24 avril 2007 à 10:55:20 | Nombre de Checkbox cochée

jumano

Bonjour,
J'ai récupéré sur le forum une fonction permettant de calculer le nombre de checkbox cochée dans un formulaire (http://www.javascriptfr.com/infomsg_NOMBRE-CHECKBOX-COCHEES_410273.aspx), je l'ai légèrement modifié afin de savoir si au moins une checkbox de mon formuliare était cochée avant le submit.
[code]
function Validation() {
if (document.form.cache.value < 1)
{
alert ('Attention vous devz cocher au moins une case !');
return false;
}
return true;
}
[/code]

Mes checkbox se crééent dynamiquement suite à une requête sql. J'ai deux checkbox par ligne qui sont liées.
Je ne connais donc pa s le nombre exact de mes checkbox.

Sur chaque checkbox générée j'ai une autre fonction permettant de rendre "disable" la seconde checkbox liée.
[code]
function GereControle(Controleur, Controle, Masquer) {
var objControleur = document.getElementById(Controleur);
var objControle = document.getElementById(Controle);
   if (Masquer=='1')
   objControle.style.visibility=(objControleur.checked==false)?'visible':'hidden';
   else
   objControle.disabled=(objControleur.checked==false)?false:true;
   return true;
}
[/code]

Et voici mon formulaire :
[code]

<body onload="checkBox()">

<form id="form" name="form" method="post" action="Mapage.php">

<table width="650" border="0" align="center" cellpadding="0" cellspacing="4">

<tr>

<td width="75"><div align="center">

<input type="checkbox" name="idbureauact[]" id="chkb_1_<?php echo $row_rsBureau['ID_BUREAU']; ?>" onClick="GereControle('chkb_1_<?php echo $row_rsBureau['ID_BUREAU']; ?>', 'chkb_2_<?php echo $row_rsBureau['ID_BUREAU']; ?>', '0');" value="<?php echo $row_rsBureau['ID_BUREAU']; ?>" />

</div></td>

<td width="75"><div align="center">

<input type="checkbox" name="idbureauinf[]" id="chkb_2_<?php echo $row_rsBureau['ID_BUREAU']; ?>" onClick="GereControle('chkb_2_<?php echo $row_rsBureau['ID_BUREAU']; ?>', 'chkb_1_<?php echo $row_rsBureau['ID_BUREAU']; ?>', '0');" value="<?php echo $row_rsBureau['ID_BUREAU']; ?>" />

</div></td>

<td width="484"><div align="left" class="tableau"><?php echo $row_rsBureau['BUREAU']; ?></div></td>

</tr>

</table>


[/code]

Ces deux fonctionnent très bien mais lorqu'elle ne sont pas activé en même temps.
C'est à dire que dès que j'intègre dans ma balise <body> la fonction 'checkbox()' la fonction GenreControle ne fonctionne plus.
Je me doute que cela vient que le onclick est utilisé dans les deux fonctions. J'ai essayé des modifs en passant par onchange, onselect mais rien à faire.
Si quelqu'un pouvait me donner un petit coup de main.
Merci.
mardi 24 avril 2007 à 14:11:09 | Re : Nombre de Checkbox cochée

bultez

Membre Club




Bonjour,

et comment fait-on nous avec les variables php ?
comment deviner ce qu'elles contiennent ?

>>cela vient que le onclick est utilisé dans les deux fonctions.
    probablement pas.
    par contre j'éviterais d'appeler une fonctioncheckBox()
       sinon, si ça ne fonctionne pas en changeant de nom,
          je donnerais ce quelle fait...
    et :

						|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷|
| Avec | et mieux : |
|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷|
| |regarder la "console d'erreurs" | FireBug |
| | Outils / Console d'erreurs | |
|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷|
||activer le deboggage : Outils/options Internet / Avancés |le Debogger IE|
| | dans la liste, sous "Navigation" : décocher | |
| | ° Afficher une notification de chaque erreur de script | |
| | ° Désactiver le débogage de Scripts (autres applications)| |
| | ° Désactiver le débogage de Scripts (Internet Explorer) | |
|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷|



Cordialement            Bul     [mon Site]     [M'écrire]

mardi 24 avril 2007 à 14:13:09 | Re : Nombre de Checkbox cochée

bultez

Membre Club
j'ai omis de dire : toujours donner la page html générée
    pas le php ( enfin ... UN PETIT EXTRAIT )

    Cordialement            Bul         [mon Site]         [M'écrire]
mardi 24 avril 2007 à 16:07:21 | Re : Nombre de Checkbox cochée

jumano

Bonjour,
Le changement de nom ne change rien.
Je mets le code source de ma page générée :
[code]
<title>Document sans titre</title>
<link href="styles.css" rel="stylesheet" type="text/css" />
<script language="Javascript">
// ==================
// Activations - Désactivations
// ==================
function GereControle(Controleur, Controle, Masquer) {
var objControleur = document.getElementById(Controleur);
var objControle = document.getElementById(Controle);
 if (Masquer=='1')
  objControle.style.visibility=(objControleur.checked==false)?'visible':'hidden';
 else
  objControle.disabled=(objControleur.checked==false)?false:true;
 return true;
}
</script>
<script language="javascript" type="text/javascript">
function annuler()
{
  if (confirm('Voulez-vous vraiment annuler cette affectation ?')) {
  window.self.location.href="affectation.php";
  return true;
  }
  else {
  return false;
  }
}
</script>
<script type="text/javascript">
function Test()
{
nf = document.form1;
cachee = nf.cache;
cachee.nombre = 0;
for (e=0;e<nf.length;e++)
if(nf.elements[e].name.indexOf("idbureau")==0)
{
nf.elements[e].onclick = new Function("cachee.nombre = cachee.nombre + (this.checked?1:-1);cachee.value = cachee.nombre;")
if(nf.elements[e].checked)cachee.nombre++;
}
cachee.value = cachee.nombre;
}
</script>
<script type="text/javascript">
function Validation()
{
if(document.form1.cache.value < 1)
{
alert ('Attention vous devez cocher au moins une case "Pour ACTION" ou "Pour INFO" pour affecter ce courrier !');
return false;
}
return true;
}
</script>
</head>

<body onload="Test()">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="50%"><div align="left" class="texteNormal" style="margin-left:10px">Utilisateur connect&eacute; : <span class="tableau">a</span> <span class="tableau">a</span></div></td>
    <td width="48%"><div align="right" class="texteNormal">
      <div align="right"><a href="/ENCAD/AffectCourAR.php?doLogout=true&id_courar=5" target="_parent"><strong>D&eacute;connexion</strong></a></div>
    </div></td>
    <td width="2%">&nbsp;</td>
  </tr>
</table>
<br />
<table width="550" border="0" align="center" cellpadding="0" cellspacing="0">
 <tr>
      <td width="65"><div align="center"><img src="Img/GAffect.gif" width="50" height="50" align="absmiddle" /></div></td>
        <td width="420" class="titre">
   <div align="center">Affectation du courrier &quot;Arriv&eacute;&quot; N&deg; : <span class="texteGrand"><strong>5 / 2007</strong></span></div>   </td>
     <td width="65" class="titre">&nbsp;</td>
 </tr>
</table>
<form onsubmit="return Validation();" action="AffectCourAR1.php"" method="POST" name="form1" id="form1">
<table width="650" border="0" align="center" cellpadding="0" cellspacing="0">
 <tr>
      <td width="75"><div align="center" class="texteNormal">Pour Action </div></td>
      <td width="75"><div align="center" class="texteNormal">Pour Info </div></td>
        <td width="10" class="tableau">&nbsp;</td>
      <td width="490" class="tableau"><p align="left" class="tableau">&nbsp;</p>                                      </td>
 </tr>
</table>
<table width="650" border="0" align="center" cellpadding="0" cellspacing="0">
 <tr>
     <td width="75">
  <div align="center">
         <input type="checkbox" name="idbureauact[]" id="chkb_1_1101" onClick="GereControle('chkb_1_1101', 'chkb_2_1101', '0');" value="1101" />
        </div>
        <label for="checkbox"></label>
        <div align="center"></div><div align="center"></div>
  </td>
        <td width="75">
  <div align="center">
         <input type="checkbox" name="idbureauinf[]" id="chkb_2_1101" onClick="GereControle('chkb_2_1101', 'chkb_1_1101', '0');" value="1101" />
        </div>
        <label for="checkbox2"></label></td>
        <td width="10">&nbsp;</td>
        <td width="490" class="texteNormal">Secrétariat</td>
 </tr>
</table>
<table width="650" border="0" align="center" cellpadding="0" cellspacing="0">
 <tr>
     <td width="75">
  <div align="center">
         <input type="checkbox" name="idbureauact[]" id="chkb_1_1102" onClick="GereControle('chkb_1_1102', 'chkb_2_1102', '0');" value="1102" />
        </div>
        <label for="checkbox"></label>
        <div align="center"></div><div align="center"></div>
  </td>
        <td width="75">
  <div align="center">
         <input type="checkbox" name="idbureauinf[]" id="chkb_2_1102" onClick="GereControle('chkb_2_1102', 'chkb_1_1102', '0');" value="1102" />
        </div>
        <label for="checkbox2"></label></td>
        <td width="10">&nbsp;</td>
        <td width="490" class="texteNormal">Comptabilité</td>
 </tr>
</table>
[/code]
Le débuggage ne fait remonté aucune alerte, le seul soucis c'est que la fonction "GereControle" ne fonctionne pas mais par contre la fonction "Test" elle fonctionne.
Merci 

mardi 24 avril 2007 à 16:21:04 | Re : Nombre de Checkbox cochée

bultez

Membre Club
>>Le débuggage ne fait remonté aucune alerte
Etonne.gif    beuh.... ben déjà, si je lance, tel quel : sur la ligne cachee.nombre = 0;    cachee n'est pas un objet.
tu n'as pas activé le deboggage... ou tu ne ragardes pas la "console d'erreurs"
je ne regarde donc pas plus loin pour l'instant....

Cordialement        Bul     [mon Site]     [M'écrire]

mardi 24 avril 2007 à 16:56:55 | Re : Nombre de Checkbox cochée

jumano

Désolé effectivement, j'ai remis les options par défaut et fait comme tu me là indiqué et là j'ai une erreur :

[code]

erreur : 'nf.cache' a la valeur nulle ou n'est pas un objet.

[/code]

mercredi 25 avril 2007 à 06:42:02 | Re : Nombre de Checkbox cochée

bultez

Membre Club
tout baigne alors...

                Cordialement       Bul     [mon Site]     [M'écrire]
mercredi 25 avril 2007 à 07:55:19 | Re : Nombre de Checkbox cochée

jumano

Tout baigne .... non
Si je comprends bien, le soucis vient de la déclaration de la variable 'cachee'.
mercredi 25 avril 2007 à 08:10:21 | Re : Nombre de Checkbox cochée

bultez

Membre Club
nf = document.form1;         d'accord, le formulaire "form1" existe
cachee = nf.cache;              "cache" pas trouvé dans ce formulaire; par contre
cachee.nombre = 0;            ni "nombre" d'ailleurs
pas trouvé non plus </form>

Cordialement            Bul     [mon Site]     [M'écrire]

mercredi 25 avril 2007 à 08:27:10 | Re : Nombre de Checkbox cochée

jumano

'cache' devrait correspondre à quoi ?

1 2

Cette discussion est classée dans : fonction, nombre, code, checkbox, cochée


Répondre à ce message

Sujets en rapport avec ce message

Récuperer le nombre de changement d'un checkbox [ par Ekik ] Bonjour,Je dois compter le nombre de changement de valeur d'un checkbox et l'envoyer dans un champs caché. Pour le moment j'ai ce code ci :<script la Vérification nombre checkbox [ par bibo06 ] Bonjour, voila j'ai une page à faire avec le choix de 5 objets à faire sur une totalité de 15. J'ai donc affiché les 15 objets en donnant le nom check Connaitre le nombre de checkbox cochées dans un formulaire [ par xavh44 ] Bonjour, j'essaye de vérifier, dans un formulaire qui contient plusieurs checkbox nommées de cette manière [code=js]name="choix[]"[/code], qu'au moin Fonction qui ne fonctionne que par onclick [ par etu54 ] Bonjour a tous, Voila mon probleme sur lequel je me casse la tete depuis quelques heures est en rapport avec une biblioteque que j'ai trouver sur le répéter fonction [ par JackNUMBER ] Bonjour ! Je débute en JS et j'aimerai votre aide pour "automatiser" une fonction. J'ai une série de variable portant le même préfixe : [code=js]$var Recuperer le resultat d'un fonction Php [ par jimmypage64 ] Bonjour, J'utilise jQuery et je voudrais afficher le contenu d'un fichier texte dans ma page. La fonction d'affichage est la suivante : [code=js]fun checkbox affiche une liste déroulante [ par nicotech ] Bonjour/Bonsoir je vous explique mon petit problème qui me prend la tête, j'ai plusieurs checkbox qui quand je les coches doivent chacune afficher le inserer une fonction javascript dans une page css [ par medas918 ] [code=js] alert("bonjour le site est en construction") // fonction de conversion en hexadécimal var hexa = "0123465789ABCDEF"; fu fonction cache montre avec slide [ par thejoker31200 ] Bonjour j'ai amélioré un bout de code pour afficher et cacher du texte avec effet de slide (affichage progressif) sans le slide ca fonctionne avec le Capture d'evenements checkbox sur tableau genere dynamiquement [ par eikichi ] Bonjour a tous, J'espère que vous serez indulgents concernant mon premier post sur ce forum, mais en l'ayant parcouru, je ne parviens toujours pas à


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales