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