[JavaScript] Petit problème avec IE...

Fermé
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 18 août 2005 à 15:02
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 19 août 2005 à 19:48
Bonjour,

Voilà, j'ai un petit problème avec un code à première vue tout simple, que Mozilla fait marcher sans problème mais pas IE...

Voilà la bête :
<html>
<body>
<script language="javascript">
<!--
function montre(cible)
{
var truc = document.getElementsByName(cible);
truc[0].style.display="";
}
function cache(cible)
{
var truc = document.getElementsByName(cible);
truc[0].style.display="none";
}
//-->
</script>


<a href='javascript:montre("truc");'>montrer div</a> - 
<a href='javascript:cache("truc");'>cacher div</a>
<div name="truc">
blablabla
</div>
</body>
</html>

Voilà, ces quelques lignes devraient permettre de cacher/montrer un petit texte...

Là où ça devient fun, c'est que le code suivant marche :
<html><body>
<script type="text/javascript">
<!--
 function cocher() {
 document.getElementsByName("ingredient")[0].checked = true;
}
//-->
</script>
<form name="formulaire" action="">
<input type="checkbox" name="ingredient" value="Salami"> Salami <br>
<input type="checkbox" name="ingredient" value="champignons"> champignons <br>
<input type="checkbox" name="ingredient" value="olives"> olives <br>
<input type="button" value="Test" onClick="cocher()">
</form>
</body></html>

Moi je sèche...
(Le problème ne vient pas du "style.display", puisqu'un "alert(truc[0]);" donne comme résultat : "undefined"...
Bref, il refuse de prendre mon truc[0] en compte, et c'est po gentil de sa part :'(

Merci de votre aide,

Xavier

1 réponse

Utilisateur anonyme
19 août 2005 à 08:11
Salut!

Modifie juste ce qui est en gras ci-dessous dans ton code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<body>
<script language="javascript">
<!--
function montre(cible)
{
var truc = document.getElementsByName(cible);
truc[0].style.display="";
}
function cache(cible)
{
var truc = document.getElementsByName(cible);
truc[0].style.display="none";
}
//-->
</script>


<a href="javascript:montre('truc');">montrer div</a> - 
<a href="javascript:cache('truc');">cacher div</a>
<div name="truc" id="truc">
blablabla
</div>
</body>
</html>


La fonction getElementsByName() utilise en fait l'attribut ID et non le NAME en IE. Etonnant, non?
Bienvenue chez Micro$oft!

;-)
HackTrack
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
19 août 2005 à 19:48
Euh...
J'hallucine :p
Ben écoute, merci pour ton aide !

Xavier
0