Modifier le paramètre d'une fonction appelé par onclick dans un layer
jfmaze
Messages postés13Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention16 juin 2006
-
1 août 2005 à 13:22
jfmaze
Messages postés13Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention16 juin 2006
-
2 août 2005 à 16:39
J'ai un layer dont le cellules peuvent évoluer en valeur et aussi sur le paramètre de la fonction qui est appelée.
- lors de la création du layer le onclick fonctionne bien
- lorsque que je modifie les valeurs des cellules, il n'y a pas de problème, mais lorsque je modifie l'attribut onclick pour changer la valeur du paramètre à passer à la fonction (recup), alors les cellules ne click plus:
html = "
";
html += "\";
html += \"----
;
html += " onclick='recup(event);' align='center' style='cursor: hand;'> A, \";
html += \"----
;
html += " onclick='recup(event);' align='center' style='cursor: hand;'> B, \";
html += \"</td>\";
html += \"----
;
html += " onclick='recup(event);' align='center' style='cursor: hand;'> C, \";
html += \"----
;
html += " onclick='recup(event);' align='center' style='cursor: hand;'> D, \";
html += \"</td>\";
html += \"----
";
html += ", \";
html += "
// racine est le noeud TBODY dont les lignes du tableau sont les childNodes
var racine = document.getElementById("tidcontrole").lastChild;
// modification des cellules
var iligne = 0;
var ligne = racine.childNodes[iligne];
var cell = ligne.firstChild;
cell.firstChild.nodeValue = "E";
cell.onclick = recup;
var iligne = 1;
var ligne = racine.childNodes[iligne];
var cell = ligne.firstChild;
cell.nodeValue = "F";
cell.onclick = recup;
var iligne = 2;
var ligne = racine.childNodes[iligne];
var cell = ligne.firstChild;
cell.nodeValue = "G";
cell.onclick = recup;
var iligne = 3;
var ligne = racine.childNodes[iligne];
var cell = ligne.firstChild;
cell.firstChild.nodeValue = "H";
cell.onclick = recup;
}
function valid(nTop,nLeft,nHaut,nLarg)
{
//alert(document.all.controle.style.visibility);
var nTop =eval(nTop + nHaut + oTop + document.all.tdcontrole.offsetTop);
jfmaze
Messages postés13Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention16 juin 2006 2 août 2005 à 10:20
Bonjour et merci de ta réponse.
Je ne comprends pas bien le fonctionnement de ta solution. Je n'ai jamais utilisé event et target; je vais regarder dans les doc. Est-ce que celà peut me permettre de récupérer dans la fonction récup une valeur qui serait différente de celle qui est affichée dans le TD, et dont le calcul (fait dans la fonction maj) fait qu'il se peut qu'il n'y ait pas de relation.
Effectivement dans le script de test j'ai repris des valeurs identiques, mais dans mon appli elles sont toujours différentes, et je pensais pouvoir éviter de refaire le calcul lors de la récupération de la valeur clickée.
J'avais aussi une autre solution qui était de gérer un tableau caché des valeurs avec le même indice que le tableau affiché?
Qu'en penses-tu.
Je ne suis pas sûr d'avoir été très clair
html
=
"
";
html
+=
"\";
html
+=
\"----
;
html +=
" onclick='recup(event);' align='center' style='cursor: hand;' value='AAA'> A, \";
html
+=
\"----
;
html +=
" onclick='recup(event);' align='center' style='cursor: hand;' value='BBB'> B, \";
html
+=
\"</td>\";
html
+=
\"----
;
html +=
" onclick='recup(event);' align='center' style='cursor: hand;' value='CCC'> C, \";
html
+=
\"----
;
html +=
" onclick='recup(event);' align='center' style='cursor: hand;' value='DDD'> D, \";
html
+=
\"</td>\";
html
+=
\"----
";
html
+=
", \";
html
+=
"