Rechercher : dans
Par :

Problème javascript sous IE

Dernière réponse le 12 jun 2008 à 15:48:31 still-ska, le 12 jun 2008 à 11:55:32 
 Signaler ce message aux modérateurs

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>";
?>

Configuration: Windows XP
Firefox 2.0.0.14

Meilleures réponses pour « problème javascript sous IE » dans :
Javascript - Les tableaux Voir Introduction à la notion de tableau Les variables de Javascript ne permettent de stocker qu'une seule donnée à la fois. Or, étant donné qu'il est souvent utile de manipuler de nombreuses données, le concept de variable se révéle parfois...
Javascript - trim() VoirLa fonction trim() de PHP (et d'autres langages) permet de supprimer les espaces en début et fin de chaîne. Il n'existe pas de telle fonction en Javascript mais le code suivant permet de la remplacer : Function trim (myString) { return...
Désinstaller IE 8 VoirDésinstallation d'IE 8 Vous avez installé IE8 pour le tester et vous souhaitez désormais revenir à une version précédente ? Voici la procédure à suivre pour les OS suivants : Windows Vista Windows XP Windows Vista Ouvrir le...
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...
Javascript - Introduction au langage Javascript VoirQu'est-ce que le Javascript? Le Javascript est un langage de script incorporé dans un document HTML. Historiquement il s'agit même du premier langage de script pour le Web. Ce langage est un langage de programmation qui permet d'apporter des...
Javascript - Les événements VoirQu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...

1

 still-ska, le 12 jun 2008 à 15:48:31

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

Répondre à still-ska
Collection CommentÇaMarche.net