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 :

Fonction Javascript acceptée par Firefox mais refusée par IE


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut Fonction Javascript acceptée par Firefox mais refusée par IE
    Salut,

    Suite à ce qu'on m'a conseillé dans un autre message de ce même forum j'ai écrit une petite fonction Javascript qui permet de rendre "enabled" des boutons radios en fonction du cochage ou non de Checkboxes.

    La voilà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    function CheckBoxClick(Objet) {
        var TestBox = Objet.id;
        var Extension = TestBox.substring(8,12);
        var MaCheckBox = document.getElementById(TestBox);
        var MonRadioButtonPeu = document.getElementById('Radio' + Extension + 'Peu');
        var MonRadioButtonBeaucoup = document.getElementById('Radio' + Extension + 'Beaucoup');
        var MonRadioButtonFolie = document.getElementById('Radio' + Extension + 'Folie');
        if (MaCheckBox.checked == true)
        {    
            MonRadioButtonPeu.disabled = false;
            MonRadioButtonBeaucoup.disabled = false;
            MonRadioButtonFolie.disabled = false;
        }
        else
        {
            MonRadioButtonPeu.disabled = true;
            MonRadioButtonBeaucoup.disabled = true;
            MonRadioButtonFolie.disabled = true;
        }
    }
    Et pour l'appeler mes Checkboxes ont les attributs suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input id="CheckboxMode" name="CheckboxMode" type="checkbox" onchange="CheckBoxClick(this)" />
    Remarquez bien le "this" comme paramètre de la fonction (c'est sur ça que portait mon autre message).

    Un exemple de bouton radio (il y en a trois par Checkbox) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input id="RadioModePeu" type="radio" name="DegréMode" value="RadioModePeu" disabled="disabled" checked="checked" />
    Comme le dit le sujet du topic, mon problème est que Firefox digère très bien cette fonction, mais que IE m'affiche une belle page blanche.

    Une idée?

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142
    Par défaut
    bonjour,

    c'est curieux. En ligne, sous IE, la page est blanche mais lorsque tu affiches le code source tout y est.

    Lorsque j'enregsitre la page sur le disque et que je l'ouvre sous IE, le formulaire est affiché, mais avec quelques soucis pour les caractères accentués.

    La seule chose que me gêne, c'est la présence d'accents dans les attributs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input id="RadioModePeu" type="radio" name="DegréMode" value="RadioModePeu" disabled="disabled" checked="checked" />
    D'ailleurs, ces caractères accentués sont mal interprété par IE. Je me demande si tu ne devrais pas préciser le codage utilisé.

  3. #3
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut
    J'ai rajouté quelques balises META, notamment une pour préciser l'encodage UTF-8, mais ça ne change rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    Je me rends compte que je n'ai peut-être pas été assez clair dans mon message précédent : la page s'affiche normalement sous IE quand je retire le lien pointant vers le Javascript dans le HEAD, donc pour moi, il semble que ça vienne de ce script...

    Honnêtement ça m'embête un peu de retirer les accents de mes attributs car à terme je pense les générer automatiquement à partir de ma BDD...

  4. #4
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <script language="javascript" type="text/javascript" src="Script_Site_ASP.NET.js" />
    Script n'est pas une balise qui peut être fermée sans balise fermante....
    ==>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <script language="javascript" type="text/javascript" src="Script_Site_ASP.NET.js"></script>

  5. #5
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut
    Argh!...

    Je croyais naïvement qu'une balise vide pouvait toujours être fermée sans balise fermante...

    Effectivement tout d'un coup ça marche beaucoup mieux. SAUF! Que ma fonction Javascript réagit différemment sous Internet Explorer : quand on coche une checkbox, il faut ensuite changer le focus (en cliquant n'importe où ou en appuyant sur tab) pour rendre les boutons radio "enabled".

    Justement je me demandais, est-ce qu'il vaut mieux que je mette "onclick" ou "onchange" comme je l'ai fait pour appeler la fonction?

  6. #6
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut
    Bon bin ça marche effectivement mieux sous IE avec "onclick" au lieu de "onchange" (sauf si on clique un peu vite, IE a du mal à suivre ).

    Considérez le problème résolu.

    Merci à tous les deux.

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

Discussions similaires

  1. [HTML 5] Vidéos non lisibles par Firefox mais bien par Chrome: pourquoi?
    Par Benneke dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 09/11/2012, 15h45
  2. embauche par SSII mais refusé par le client?
    Par mjliu dans le forum SSII
    Réponses: 5
    Dernier message: 06/09/2010, 15h54
  3. fonction javascript fonctionnant sous firefox mais pas sous IE
    Par calitom dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/03/2007, 12h56
  4. prompt interprété par firefox mais pas par IE
    Par calitom dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 06/02/2007, 17h58
  5. Composant Javascript marche sous firefox mais pas sur ie pk ?
    Par tazamorte dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 16/10/2006, 17h25

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