jcex
Messages postés11Date d'inscriptiondimanche 13 novembre 2005StatutMembreDernière intervention11 août 2009
-
9 juin 2008 à 15:42
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 2014
-
9 juin 2008 à 18:08
bonjour à tous je galère sur cette erreur depuis kk temps maintenant après plusieurs tests, j'en arrive à la conclusion qu'il doit s'agir du formatage de la variable nom_string mais je n'ai pas trouvé comment faire marcher ce code. voici ce que je veux faire
var indice = document.forms[0].elements[i].id;
var nom_string = "nom"+indice;
alert(nom_string);
alert(document.getElementById(nom).innerHTML);
C'est la dernière ligne qui pose problème la variable nom_string est remplie comme je veux. J'ai fais le test suivant pour vérifier si j'avais bien une div ayant un tel identifiant
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 9 juin 2008 à 15:49
tiens on est quasi d'accord avec ov3rdoze...
ou alors document.getElementById("id_des_champs"+indice).....
mais on tente toujours de deviner...
et comme il y 265897 possibilités en fonction de comment ces champs
sont décrits... montre nous, ce sera plus simple...
<hr /> Cordialement Bul [mon Site] [M'écrire]
jcex
Messages postés11Date d'inscriptiondimanche 13 novembre 2005StatutMembreDernière intervention11 août 2009 9 juin 2008 à 15:59
Pour vous détailler un peu plus les champs sont générés de la manière suivante, c'est un tableau composé de colonne ac un nom dont le champ est généré de la manière suivante Response.write("<TD id = ""nom") & id_ligne & (""">") donc l'id c'est nom1, nom2... et sur la mm ligne du tableau ya une checkbox dont l'id est 1,2,3 qui correspond à l'indice de ligne.
Je récupère l'id de la checkbox cochée de la manière suivante
function envoiMails()
{
alert("envoiMails");
for (var i=0; i<document.forms[0].elements.length; i++)
{
var e = document.forms[0].elements[i];
if( e.type == 'checkbox' )
{
if(e.checked)
{
// indice de ligne d'une personne selectionnee
var indice = document.forms[0].elements[i].id;
Voila on retrouve ma dernière ligne qui ne fonctionne ceci doit etre du a la variable nom_string mal formatee. J'espere vous avoir éclairé merci d'avance
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 9 juin 2008 à 16:05
donc l'id c'est nom1, nom2... et sur la mm ligne du tableau
ya une
checkbox dont l'id est 1,2,3 qui correspond à l'indice de ligne.
déjà, un id et un name devrait commencer par une lettre, ou _...
si tu testes les checkbox, met id="chk1", id="chk2", id="chk3" ....
et la boucle :
var n=1;
while ( document.getElementById("chk"+n) )
{ traitement de document.getElementById("chk"+n).checked
jcex
Messages postés11Date d'inscriptiondimanche 13 novembre 2005StatutMembreDernière intervention11 août 2009 9 juin 2008 à 16:11
Dans Ie il me dit objet requis
Sinon ce que je voulais faire c pour ca que j'avais appele mes checkbox juste par un numero, c'est que je recupére l'Id des checkbox cochées. Et ensuite je veux recupérer le contenu de la case (nom de la personne) dont la ligne a été cochée. donc je récupérais le contenu du champ dont l'id était nom concaténé avec l'id de la checkbox. Ce qui me donnait bien nom1, nom5 un truc cm ca par exemple et je voulais récupéré le nom des personnes présentes dans le tableau dont les lignes 1 et 5 ont été cochées
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 9 juin 2008 à 16:15
comme je te dis alors....
var n=1;
while ( document.getElementById("chk"+n) )
{ if (document.getElementById("chk"+n).checked )
{ alert(document.getElementById("nom"+n).innerHTML); }
n++;
}
et tu dois avoir
id="nom1" id="ckk1", id="nom2" id="chk2", .... id="nom#" id="chk#"
jcex
Messages postés11Date d'inscriptiondimanche 13 novembre 2005StatutMembreDernière intervention11 août 2009 9 juin 2008 à 16:28
Merci bien j'y étais presque, j'avais finalement bon mais l'erreur résidait autre part dans la génération de la réponse côté Ajax j'avais un espace dans mon identifiant :S