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 :

Erreur sous firefox et non sous IE...


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 243
    Points : 89
    Points
    89
    Par défaut Erreur sous firefox et non sous IE...
    Salut tout le monde !

    Voilà, comme le dit si bien le titre de ce topic, j'ai une erreur sous firefox (mozilla) et non sous IE.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <script>
    function appel()
       { location.href="materiels.shtml?typeProduit="+typeProd.options[typeProd.selectedIndex].value
    </script>
    Mozilla me sort comme ça "Oui heu..., typeProd n'est pas défini" et pourtant si, il s'agit d'une liste déroulante.

    Si quelqu'un peut m'aider, ce serait chouette !!

    Bye

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Euh, typeProd est peut être défini comme un élément HTML, mais tu ne l'adresse pas correctement pour en faire une variable JavaScript... Tu as deux solutions pour ce faire:


    La variable (javaScript) myProSelect contient alors une référence sur ton élément HTML.

    Les deux sont compatibles avec tous les navigateurs actuels. La premiere est celle que je prefere et celle qui sera compatible avec les navigateurs futurs. La seconde est l'ancienne méthode, plus compatible avec les vieux navigateurs, mais moins avec les futurs....

  3. #3
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 243
    Points : 89
    Points
    89
    Par défaut
    Cool, je vais essayer cela et te tiens au courant. Merci !!

  4. #4
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 243
    Points : 89
    Points
    89
    Par défaut
    Heu... juste une p'tite question (idiote) la déclaration de la variable tu l'a met où ? J'ai fait cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function appel()
       {
       var myProSelect = document.getElementId("typeProId"); 
       location.href="materiels.shtml?typeProduit="+myProSelect.value + "&contenu="+myProSelect.text;  }
       </script>
      <center><select name="typeProd" 
              onchange="appel();">
    	 '.$inter.'</option> </select>
    mais Mozilla me cherche encore des ennuis. Désolé, j'y connais vraiment rien de chez rien en JS

  5. #5
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Tout d'abord as-tu correctement mis un id à ton select?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <select name="typeProd" id="typeProdId" onchange="appel();">
    Ensuite, ta façon de rechercher la value de l'élément selectionné était la bonne, il faut la garder... De plus, location.href est en lecture seule (enfin en théorie), il faut utiliser replace:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.location.replace("materiels.shtml?typeProduit="+myProSelect.options[myProSelect.selectedIndex].value + "&contenu="+myProSelect.options[myProSelect.selectedIndex].firstChild.data);
    Enfin, l'accès au text de l'option était mauvais, je l'ai corrigé...

    Tu es dans la bonne voie

  6. #6
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 243
    Points : 89
    Points
    89
    Par défaut
    Doux Jésus... ça ne marche toujours po, j'ai beau me gratter la tête, il y a toujours un problème, le même en faite. Mozilla me dit que "myProSelect has no properties" pourtant tout me parait cohérent !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script type="text/javascript">
     
    	function appel()
       {  
       var myProSelect = document.getElementById("typeProId");
       document.location.replace("materiels.shtml?typeProduit="+myProSelect.options[myProSelect.selectedIndex].value + "&contenu="+myProSelect.options[myProSelect.selectedIndex].firstChild.data);  }
       </script>
     
       <center><select name="typeProd" id="typeProdId" onchange="appel();">
    	 '.$inter.'</option> </select></center>
    Par contre, il me semble que c'est plutot getElementById que getElementId car mozilla ne reconnaissait pas cette dernière fonction.

  7. #7
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Effectivement c'est getElementById, désolé, mais j'ai pas assez réfléchi avant de taper.

    Sinon, dans ton cas, tu as un id "typeProId" à un endroit et "typeProdId" à un autre. A part ça, je pense que c'est bon

  8. #8
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 243
    Points : 89
    Points
    89
    Par défaut
    lol, le couillon que je peux faire !! En tout cas un grand merci, ça marche du feu de dieu !!!!

    Bonne journée !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fichier non uploadés sous firefox mais bien sous IE
    Par yasmina701 dans le forum Langage
    Réponses: 3
    Dernier message: 24/09/2010, 01h09
  2. Problème avec une Div sous firefox et non sous IE
    Par Phpdebut dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 11/01/2010, 11h52
  3. [POO] code valable sous IE et non sous Firefox
    Par picoule dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 08/10/2008, 09h08
  4. couleur de fond sous un flash sous firefox et non sous IE
    Par oceane751 dans le forum Intégration
    Réponses: 2
    Dernier message: 10/09/2008, 19h14
  5. Scroll sous Firefox et pas sous IE
    Par glloq8 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 29/12/2005, 08h45

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