Marche pas sous ie ?

Troyan Messages postés 170 Date d'inscription mardi 2 juillet 2002 Statut Membre Dernière intervention 21 janvier 2012 - 11 mai 2010 à 19:59
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 12 mai 2010 à 18:27
Bonjour à tous,

ce bout de code marche parfaitement bien sous firefox et chrome, pas sous ie ???? avez une idée ?
que dois-je faire pour que cela marche partout ?
Merci par avance.
Ch.


<script type="text/javascript">
function toggleHidden(controlId) {
var control = document.getElementById(controlId);
control.style.visibility = "hidden";
}
</script>


******************************************
Installation Home-Cinéma de particuliers sur http://www.digital16-9.com

4 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
11 mai 2010 à 22:00
Bonjour,
a priori pas de raison, le problème est peut être ailleurs...

;O)
0
Troyan Messages postés 170 Date d'inscription mardi 2 juillet 2002 Statut Membre Dernière intervention 21 janvier 2012
11 mai 2010 à 22:55
effectivement c'était pas le bon code.

c'est cette ligne que IE renvoit 0,
alors que sous FireFox et/ou Chrome c'est bon ?
j'ai bien regardé dans le view code et je les trouve bien.

c'est des balises



<script type="text/javascript">
function Masque_TYPEE(a) {
//alert(a);
//var arr = new Array();
arr = document.getElementsByName("TYPEE");
alert(arr.length);
for (var i = 0; i < arr.length; i++) {
var obj = document.getElementsByName("TYPEE").item(i);
if (a == true) {
obj.style.visibility = "hidden"; }
else {
obj.style.visibility = "inherit"; }
}
}
</script>


******************************************
Installation Home-Cinéma de particuliers sur http://www.digital16-9.com
0
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
12 mai 2010 à 06:25
Salut,

IE ne supportera pas la méthode getElementsByName avant longtemps, mais il existe des workarounds pour émuler cette méthode pour IE.

Voici l'information complète sur ce bogue :
http://webbugtrack.blogspot.com/2007/08/bug-411-getelementsbyname-doesnt-work.html
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
12 mai 2010 à 18:27
Bonjour à tous
IE ne supportera pas la méthode getElementsByName
IE supporte cette méthode mais l'applique de façon plus stricte que les autres navigateurs et exclusivement aux tags qui prétendent à cet attribut
voir
http://www.w3.org/TR/1999/REC-html401-19991224/index/attributes.html

le hasard de mes lectures m'a également amené sur une surprise Mozillienne
lu sur https://[developer.mozilla.org/fr/DOM/document.getElementsByName developer.mozilla.org/fr/DOM/document.getElementsByName]
L'attribut name n'est valide que pour un ensemble limité d'éléments HTML, par conséquent getElementsByName() n'est applicable qu'à ces éléments.
avec un exemple portant sur des DIV

de plus sur cette page https://developer.mozilla.org/fr/DOM/element.name, on peut lire
[i]name obtient ou définit l'attribut name d'un objet DOM. Il s'applique uniquement aux éléments suivants : anchor, applet, form, frame, iframe, image, input, map, meta, object, option, param, select et textarea.
la référence/i

pour le coup IE est en phase avec lui voir les pages
- http://msdn.microsoft.com/en-us/library/ms536438(VS.85).aspx
- http://msdn.microsoft.com/en-us/library/ms534184(v=VS.85).aspx

mais on s'égare, il conviendrait peut être mieux d'utiliser une reconnaissance par la class, mais la pour le coup IE ne gére pas la méthode getElementsByClassName, mais nul doute que tu trouveras le palliatif sur la toile.

;O)
0
Rejoignez-nous