Problème javascript sous IE

Résolu/Fermé
still-ska Messages postés 12 Date d'inscription jeudi 12 juin 2008 Statut Membre Dernière intervention 3 juillet 2008 - 12 juin 2008 à 11:55
still-ska Messages postés 12 Date d'inscription jeudi 12 juin 2008 Statut Membre Dernière intervention 3 juillet 2008 - 12 juin 2008 à 15:48
Bonjour,
J'ai un problème de compatibilité javascript avec IE!

En faite c'est une méthode de calque, on a change avec une liste déroulante ou en cliquant sur un lien l'affichage en cour, en mettant en display=none tout les autre calques.

Sur mozilla ça marche parfaitement donc mon code est juste mais par contre ça foire totalement sous IE!


Voici mon code javascript:

<SCRIPT LANGUAGE="JavaScript">
var encours="";
function Affgamme(liste) {
var nomgamme=liste.options[liste.selectedIndex].value;//différence sur le méthode de récupération du sujet
if (document.all) {
if (encours!="") {document.all[encours].style.display="none";}
encours=nomgamme;
if (nomgamme!="") {document.all[encours].style.display="inline";}
}
if (document.layers) {
if (encours!="") {document.layers[encours].display="none";}
encours=nomgamme;
if (nomgamme!="") {document.layers[encours].display="inline";}
}
if (document.getElementById) {
if (encours!="") {document.getElementById(encours).style.display="none";}
encours=nomgamme;
if (nomgamme!="") {document.getElementById(encours).style.display="inline";}//affiche l'élément seléctionné
}
document.getElementById("defo").style.display="none";
}

//fonction non identique car problème de conflie entre la fonction sur le post et sur les pages
function Affgamme1(select) {
var nomgamme=select;//différence sur le méthode de récupération du sujet
if (document.all) {
if (encours!="") {document.all[encours].style.display="none";}
encours=nomgamme;
if (nomgamme!="") {document.all[encours].style.display="inline";}
}
if (document.layers) {
if (encours!="") {document.layers[encours].display="none";}
encours=nomgamme;
if (nomgamme!="") {document.layers[encours].display="inline";}
}
if (document.getElementById) {
if (encours!="") {document.getElementById(encours).style.display="none";}
encours=nomgamme;
if (nomgamme!="") {document.getElementById(encours).style.display="inline";}//affiche l'élément cliqué
}
document.getElementById("defo").style.display="none";
}
</SCRIPT>

et voici la page php:

page principal:

<?php
include "include/java1.html";
echo'
<table style="width 630px;text-align : center;"><tr><td><FORM>
<SELECT NAME="liste" onChange="Affgamme(this)">';//apel une fonction qui changera le calque
echo ' <option selected="selected" value="toutafficher">Tout afficher</option>';
$reponse = mysql_query("SELECT * FROM gammes ORDER BY gamme") or die(mysql_error());
while($donnees = mysql_fetch_array($reponse))
{
echo ' <option value="'.$donnees['id'].'">'.$donnees['gamme'].'</option>';
}
echo ' </SELECT>
</FORM></td><td>                       </td>
<td><h1>Les gammes</h1></td></tr></table>

<div id="toutafficher" style="display:none">';
include "listegamme.php";
echo'</div>';
$reponse = mysql_query("SELECT * FROM gammes ORDER BY gamme") or die(mysql_error());
while($donnees = mysql_fetch_array($reponse))//ecrit toute les pages de chaque gamme
{
echo ' <div id="'.$donnees['id'].'" style="display:none">';
include 'include/gamme.php';
echo '</div>';
}
?>
<div id="defo" style="display:inline">
<?php
include "listegamme.php";
//initialise la page avec la liste complete des differente gammes
?>
</div>


page gamme:

<table>
<tr><td><h2 color="green" style='font-family: Trebuchet MS, "Arial Black", "Times New Roman", Times, serif;'><?php echo $donnees['gamme'];?></h2></td></tr>
<tr><td><img src="<?php echo $donnees['image'];?>" width=300></td></tr>
</td></tr>
<tr><td><?php echo $donnees['texte'];?></td></tr>
<tr><td><a href="<?php echo $donnees['lienofficiel'];?>">Lien vers le site officiel</a></td></tr>
</table>

page listegamme:

<?php
$reponse = mysql_query("SELECT * FROM gammes ORDER BY gamme") or die(mysql_error());
echo "<table border style='margin-left :55px; '>";
$i=0;
while($donnees = mysql_fetch_array($reponse))
{
if($i==0)
{
echo "<tr ><td ALIGN='center'><a href='javascript:Affgamme1(".$donnees['id'].");'
style='color : green; font-size : 40px;'>".$donnees[gamme]."</a><br>
<a href='javascript:Affgamme1(".$donnees['id'].");' style='color : black;'><img src='".$donnees[image]."' width='200'></a></td>";
$i=1;
}
else
{
echo "<td ALIGN='center'><a href='javascript:Affgamme1(".$donnees['id'].");'
style='color : green; font-size : 40px;'>".$donnees[gamme]."</a><br>
<a href='javascript:Affgamme1(".$donnees['id'].");'style='color : black;'><img src='".$donnees[image]."' width='200'></a></td></tr>";
$i=0;
}
}
echo "</table>";
?>
A voir également:

1 réponse

still-ska Messages postés 12 Date d'inscription jeudi 12 juin 2008 Statut Membre Dernière intervention 3 juillet 2008 2
12 juin 2008 à 15:48
Finalement après plusieur heure de recherche j'ai réglé le problème avec une boucle while et une requet sql sur un getelementbyid et tout marche! voila
0