IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Fonctionne sous IE6 mais pas sous Firefox - Help


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Fonctionne sous IE6 mais pas sous Firefox - Help
    Bonjour,

    Je suis un débutant mais vraiment un débutant en javascript et j'avous avoir quelque peu luté pour écrire quelques ligne de JavaScripts qui vont vous paraître dérisoir.

    Mon code fonctionne sous IE6 mais sous Firefox (que je préfère) j'ai l'erreur suivante :

    Error: document.getElementById(showPreview) has no properties
    Source File: file:///C:/Temp/Gallery/JALBUM/TEST_GIF_CSS/02-CSS%20Switcher/TEST_02/thememgr12ff.htm
    Line: 85

    J'ai supprimé à quelques endroits les variables de fonction JS par les valeurs en dure pour trouver mon erreur. Mais je tourne en ronds !!!

    Voila mon code :

    <html>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>New Page 1</title>

    <link rel="stylesheet" type="text/css" id="defaultTheme" title="cBlack" href="./res/theme/black.css">
    <link rel="alternate stylesheet" type="text/css" media="screen" title="c3d_Light" href="./res/theme/3d_light.css" />
    <link rel="alternate stylesheet" type="text/css" media="screen" title="c3d_Dark" href="./res/theme/3d_dark.css" />

    <script src="./res/thememgr.js" type="text/javascript"></script>

    <script type="text/javascript">

    /* window.onload=function() */

    function currentTheme()
    {
    var formref=document.getElementById("thememgrform")
    indicateSelected(formref.switchcontrol)
    var currentTheme = getCookie("mysheet")
    var selectedTheme = document.getElementById('switchcontrol').value
    showThemePreview(currentTheme);
    if (currentTheme == selectedTheme)
    {
    disableObject('thememgrbutton');
    }
    if (currentTheme != selectedTheme)
    {
    enableObject('thememgrbutton');
    }
    }

    function changeTheme(objID)
    {
    var chooseTheme = document.getElementById(objID)
    chooseStyle(chooseTheme.options[chooseTheme.selectedIndex].value, 60);
    disableObject('thememgrbutton');
    }

    function enableObject(objID)
    {
    document.getElementById('thememgrbutton').disabled=false;
    document.getElementById('thememgrbutton').value='Apply selected theme...';
    }

    function disableObject(objID)
    {
    document.getElementById('thememgrbutton').disabled=true;
    document.getElementById('thememgrbutton').value='Theme already applied';
    }

    function selectTheme(objID)
    {
    var currentTheme = getCookie("mysheet");
    alert('currentTheme : "'+currentTheme+"'"); // debug //
    var selectedTheme = document.getElementById(objID).value;
    alert('selectedTheme : "'+selectedTheme+"'"); // debug //
    changeThemePreview(selectedTheme);
    //hideThemePreview()
    //showThemePreview(selectedTheme)
    if (currentTheme == selectedTheme )
    {
    disableObject('thememgrbutton');
    }
    if (currentTheme != selectedTheme )
    {
    enableObject('thememgrbutton');
    }
    }

    function changeThemePreview(themeName)
    {
    hideThemePreview()
    showThemePreview(themeName)
    }

    function showThemePreview(themeName)
    {
    var showPreview = 'thm_prev_' + themeName
    alert('showPreview : "'+showPreview+"'") // debug //
    document.getElementById(showPreview).style.display='block'
    }

    function hideThemePreview()
    {
    allThemePreview = document.getElementsByName("thm_preview")
    for (i=0; i<allThemePreview.length; i++)
    {
    var temp = allThemePreview[i].id;
    document.getElementById(temp).style.display='none';
    }
    }

    </script>



    </head>

    <body onload="currentTheme()">

    <BR>

    <TABLE align="center" name="thememgrtable" style="width:400px;" class="infotable" cellspacing="0" cellpadding="2">
    <TR>
    <TD align="center" valign="middle" class="smalltxt">Theme Manager</TD>
    </TR>
    </TABLE>
    <BR>
    <BR>
    <TABLE align="center" style="width:400px;" cellspacing="0" cellpadding="2">
    <TR>
    <TD align="right" valign="middle" class="smalltxt" width="139">Theme:</TD>
    <TD align="auto" height="100%">
    <form id="thememgrform" style="margin:0; position: relative; left:0; top:0; right:0; bottom:0; word-spacing:0">
    <select id="switchcontrol" name="switchcontrol" size="1" onchange="selectTheme('switchcontrol')" style="font-family: Verdana; font-size: 8pt; background-color:#000000; color:#888888; text-decoration:none; " tabindex="1">
    <option value="cBlack" selected="selected">Chameleon Black</option>
    <option value="c3d_Light">Chameleon 3D Light</option>
    <option value="c3d_Dark">Chameleon 3D Dark</option>
    </select>
    </form>
    </TD>
    </TR>
    </TABLE>
    <BR>
    <BR>
    <TABLE align="center" style="width:400px;" cellspacing="0" cellpadding="2">
    <TR>
    <td align="center" class="previewtable_up">&nbsp;</td>
    </TR>
    <TR>
    <td align="center" class="previewtable_mid">
    <div id="thm_prev_cBlack" align="center">
    <a id="thm_prev_cblack" name="thm_preview" href="javascript:void(0)" onClick="changeTheme('switchcontrol')" title="Apply this theme"></a>
    </div>
    <div id="thm_prev_c3d_dark" align="center">
    <a id="thm_prev_c3d_dark" name="thm_preview" href="javascript:void(0)" onClick="changeTheme('switchcontrol')" title="Apply this theme"></a>
    </div>
    <div id="thm_prev_c3d_light" align="center">
    <a id="thm_prev_c3d_light" name="thm_preview" href="javascript:void(0)" onClick="changeTheme('switchcontrol')" title="Apply this theme"></a>
    </div>
    </td>
    </TR>
    <TR>
    <td align="center" class="previewtable_btm">&nbsp;</td>
    </TR>
    <BR>
    </TABLE>
    <BR>
    <TABLE align="center" style="width:400px;" cellspacing="0" cellpadding="2">
    <TR>
    <TD align="middle">
    <input id="thememgrbutton" name="thememgrbutton" type="button" value="Apply selected theme..." onClick="changeTheme('switchcontrol')" style="background:#000000 url('res/Theme/black/bg.gif') center; font-family: Verdana; font-size: 8pt; border-style: solid; border-width: 1px; color:#888888; padding-left:0" tabindex="2">
    </TD>
    </TR>
    </TABLE>

    <input id="thememgrbutton2" type="button" name="button" value="Test JS" onClick="Test2('switchcontrol')" style="background:#000000 url('res/Theme/black/bg.gif') center; font-family: Verdana; font-size: 8pt; border-style: solid; border-width: 1px; color:#888888; padding-left:0" tabindex="2">
    <input id="thememgrbutton3" type="button" name="button" value="Test JS2" onClick="changeTheme('switchcontrol')" style="background:#000000 url('res/Theme/black/bg.gif') center; font-family: Verdana; font-size: 8pt; border-style: solid; border-width: 1px; color:#888888; padding-left:0" tabindex="2">

    </body>

    </html>
    Jutilise un script de chez dynamic drive qui premet de midifier en directe l'apparence des pages via des thèmes CSS. J'ai une ou deux erreurs de CSS dans les seconds thèmes mais le principale fonctionne.

    Si quelqu'un pouvait me donner un p'tit coup de main ... Merci d'avance.
    Je joins un exemple de mon code avec les thèmes tout le toutim dans le fichier zip.

    Merci
    FMA
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    essaye avec une chaine de caractères comme ça : "getElementById('showPreview')"

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    J'ai une bonne nouvelle pour toi, ça fonctionne pas non plus sur IE7.
    C'est pas parce que j'ai tort que vous avez raison.

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    déjà, ne donne jamais le même nom à deux objets différents...

Discussions similaires

  1. Fonction qui fonctionne sous ie6 mais pas sous Firefox
    Par arthuro45 dans le forum jQuery
    Réponses: 5
    Dernier message: 16/03/2011, 10h38
  2. pb sous FF mais pas sous ie6
    Par 123quatre dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 12/08/2008, 17h30
  3. Réponses: 1
    Dernier message: 24/01/2008, 12h11
  4. FORM fonctionne sous IE mais pas sous Firefox
    Par baudogu dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/09/2007, 16h50
  5. opacity marche sous IE7 et firefox, mais pas sous IE6
    Par maxfive7 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 06/08/2007, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo