Checkbox et javascript [Résolu]

Signaler
Messages postés
88
Date d'inscription
vendredi 8 octobre 2004
Statut
Membre
Dernière intervention
12 octobre 2009
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour,

a n'y plus rien comprendre :
Aprés une requete dans une bd, j'affiche des resultats de la façon suivante :
$query=..........
while($r=mysql_fetch_array($query)){
$resultat=$r["resultat"];
<form name="enr_demande" id="enr_demande">

<? echo $resultat;?>

">

</form>>

<input type="button" name="go" value="go" onclick="checkAll('enr_demande');"

Je peux avoir 1 resultat ou plusieurs résultats.

ma fonction:
function checkAll(form){
b=document.getElementById(form);
for (i=0; i < b.elements.length; i++)
    {b.selectionner[i].checked = true; }
   
}

ça marche trés bien si il y a au moins 2 résultats, mais si il y a 1 resultat, j'ai l'erreur :b.selectionner[i] a la valeur NULL ou n'est pas un résultat.

J'ai normalement fait les choses dans les régles...
Où est le Problème?

Faites vous plaisir !!

7 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
>>ça marche trés bien si il y a au moins 2 résultats, mais si il y a 1
resultat,
>>j'ai l'erreur :b.selectionner[i] a la valeur NULL ou n'est
pas un résultat.
je n'ai pas regardé du tout ton code,
mais : erreur classique je pense ( faut avoir été pris une fois )

si tu ne génères qu'un seul :b.selectionner, tu ne peux plus l'indexé !
ce n'est plus un array !
donc soit tu testes b.selectionner.length
       s'il existe, tu peut utiliser b.selectionner[index].checked
       sinon, seul b.selectionner.checked est possible
perso, je ferais plutôt un b.selectionner bidon et caché
      et dans la boucle qui utilise je commencerais à 1

Cordialement

          Bul [mon Site] [M'écrire]         
Messages postés
1251
Date d'inscription
mercredi 7 août 2002
Statut
Modérateur
Dernière intervention
10 avril 2013

Bonjour,
à mon avis ton problème se situe dans la génération de ton html.
Fourni nous le code html (la source client ) et non le code php.

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
Messages postés
88
Date d'inscription
vendredi 8 octobre 2004
Statut
Membre
Dernière intervention
12 octobre 2009

Voili voilou

<? ob_start();
include("connection.php");
$fa_artnum=$_GET["fa_artnum"];
$la_num=$_GET["enr"];
$tri=$_GET["tri"];
?>

<? echo "Fournisseur";?>

<? echo "Ville";?>

<? echo "Sel";?>

<form name="enr_demande" id="enr_demande">
<?//listes des fournisseurs pour cet article
$liste=mysql_query("SELECT * FROM fournisseur_article as t1,fournisseur as t2 WHERE t1.fa_fournnum=t2.fourn_num AND fa_artnum='$fa_artnum' ORDER BY fourn_nom ASC");
while ($l=mysql_fetch_array($liste)){
$fourn_num=$l["fourn_num"];
$fourn_nom=$l["fourn_nom"];
$fourn_cp=$l["fourn_cp"];
$fourn_ville=$l["fourn_ville"];
?>



<? echo $fourn_nom;?>

<? echo $fourn_cp." ".$fourn_ville;?>

">

<? }?>



','<?=$la_num;?>','<?=$tri;?>');">



</form>
<? $buffer=ob_get_clean();
$buffer = utf8_encode($buffer);
echo $buffer;?> 

Faites vous plaisir !!
Messages postés
1251
Date d'inscription
mercredi 7 août 2002
Statut
Modérateur
Dernière intervention
10 avril 2013

A mon avis tu n'as pas lu ou compris !
Si tu veux que l'on t'aide c'est la partie html qu'il nous faut.
Génère ta page dans ton browser préféré puis tu fais bouton droit "Afficher la source" c'est ça qu'il nous faut !

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
Messages postés
88
Date d'inscription
vendredi 8 octobre 2004
Statut
Membre
Dernière intervention
12 octobre 2009

ABELIA ' " test " ' - 100/150 - T -

[#

]

Fournisseur

Ville

Sel

[#

]

<form id="enr_demande" name="enr_demande">

FOURNISSEUR DIVERS

69160 TASSIN

</form>

[#

]

Faites vous plaisir !!
Messages postés
1251
Date d'inscription
mercredi 7 août 2002
Statut
Modérateur
Dernière intervention
10 avril 2013

bultez++
je l'avais oublié ce cas là !
Pour complèter la réponse de bultez, soit tu appliques ça solution avec un checkbox caché, soit tu adaptes ton javascript coté serveur selon le nombre de checkbox envoyé à l'utilisateur !

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
salut nickadele,
en fait j'ai été pris plusieurs fois !
contrairement à mon affirmation qui disait :  "faut avoir être pris une fois".
          Bul [mon Site] [M'écrire]