acces à un div dont le nom est dynamique [RESOLU] - HTML/CSS - Programmation
Marsh Posté le 09-09-2003 à 12:30:52
c'est normal, il cherche l'élément 'nofact' dans ton document html, et pas sa valeur.
un simple getElementById(nofact) sera bien plus efficace.
Marsh Posté le 09-09-2003 à 13:14:00
merci de ta réponse .. mais ca marche toujours po ...
j'ai une erreur javascript : Objet requis ...
Marsh Posté le 09-09-2003 à 13:27:48
Code :
|
pour le reste cf premier post
Marsh Posté le 09-09-2003 à 13:49:49
ben avec
function affiche_facture() {
var chaine=document.enquete.nocol.value;
var tableau=chaine.split('¤');
nofact=tableau[2]+tableau[3]+tableau[4];
getElementById(nofact).style.display="";
}
ca change le message d'erreur : Objet attendu ...
c'est comme ci "nofact" n'etait pas interprété comme une variable ...
Marsh Posté le 09-09-2003 à 15:26:47
Marsh Posté le 09-09-2003 à 15:30:59
Code :
|
chez moi ca marche sauf que ca ne desactive pas les div non selectionnees...
mais aucun message d'ereur !
Marsh Posté le 09-09-2003 à 15:42:32
cool moi aussi !
bon ben il ne me reste plus qu'a faire disparaitre les autres div ... kkun a une idée pour parcourir la liste des div et les passer à "display:none"
Marsh Posté le 09-09-2003 à 15:46:59
En plus de l'id tu peux donner une "class" à tes <div> et les sélectionner comme ça :
http://www.cookiecrook.com/webx/getElementByClass.htm#
Marsh Posté le 09-09-2003 à 15:57:42
Je sais que j'utilise ca mais je ne suis pas sur de la compatibilité. ( utilisé dans le cadre d'un intranet avec IE pour tous les postes clients )
document.all.tags("DIV" )
Marsh Posté le 09-09-2003 à 15:57:53
function affiche_facture() {
for (i=1;i<document.enquete.nocol.length;i++) {
var valeur=document.enquete.nocol.options[i].value;
tableau=valeur.split('¤');
nofact=tableau[2]+tableau[3]+tableau[4];
document.getElementById(nofact).style.display="none";
}
var chaine=document.enquete.nocol.value;
var tableau=chaine.split('¤');
nofact=tableau[2]+tableau[3]+tableau[4];
document.getElementById(nofact).style.display="";
}
par contre Lord II : tu l'utilises comment ta commande ?
parceque ca :
document.all.tags("DIV" ).style.display="none"; ca marche po chez moi ...
Marsh Posté le 09-09-2003 à 16:04:53
C'est un petit plus complexe :
Code :
|
Marsh Posté le 09-09-2003 à 16:15:02
merci à tous pour vos précieux conseils !!!
juste pour le plaisir, je poste la fonction nettoyée :
Code :
|
Marsh Posté le 09-09-2003 à 12:12:36
Bonjour,
j'ai une page qui génère (php/mysql) des tables qui sont encadrées par des div nommé "à la volé":
du genre :
par défaut : aucune de ces tables ne s'affichent, et c'est ce que je veux !
j'ai ensuite un select (dynamique aussi) qui appelle un javascript :
le but etant d'afficher seulement le div concerné au laché du select ...
mon javascript :
et ca marche po ...
en fait c'est l'élément nofact qui n'est pas interprété dans la ligne "document.nofact.style.display="";" parce que si je fait : alert(nofact), j'ai la bonne valeur ...
des idées ??
(j'suis vraiment pas un pro du js)
Message édité par arsenick69 le 09-09-2003 à 16:23:32
---------------
L'arsenic est present a l'etat de traces dans toutes matieres vivantes. www.arsenick.net