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 :

Fonctionnement de borderColor sous Firefox


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de Ishizaki
    Inscrit en
    Avril 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 262
    Par défaut Fonctionnement de borderColor sous Firefox
    Bonjour tout le monde.

    Sur un onBlur je veux que si le texte entré n'est pas un nombre, il colorise la bordure de mon input en rouge. Le script fonctionne sous IE6 mais pas sous FireFox.

    Voici le code :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
     
     
    var myInputText = document.getElementById('InputNumber');
     
    if(myInputText != null)
    {
       myInputText.onblur = function(){ChangeColor(myInputText) };
    }
     
    function ChangeColor(myInputText)
    {
     
    var colorForBorder = '#D0D0D0';
     
    if(isNaN(myInputText.value))
    {
     
    //On fait un focus dessus
    setTimeout(function() { myInputText.focus(); }, 10);
     
    //La couleur de la bordure sera rouge
    colorForBorder = 'red';
    }
     
    //J'ai rajouté la comparaison IE/FF après avoir constaté que cela ne fonctionnait pas sous FireFox
    if (myInputText.currentStyle) {
     
                    //IE
                    myInputText.style.borderColor = '';
                    myInputText.style.borderColor = colorForBorder ;
     
                }
                else if (window.getComputedStyle) {
     
                    //FF
                    document.defaultView.getComputedStyle(myInputText, null).borderColor = colorForBorder ;
                }
     
    //Je teste si on est sur IE avec currentStyle ou sur FireFox avec getComputedStyle
    //Sous IE ça fonctionne parfaitement mais sous FireFox, à moitié. En effet, dès que j'ai une erreur, il colore bien le border de l'input en rouge, mais, quand je veux modifier, que je mets un bon nombre et que je sors de l'input, la couleur ne se remet pas à '#D0D0D0'
     
    }
    Merci pour l'aide ^^.

  2. #2
    Membre éclairé Avatar de Ishizaki
    Inscrit en
    Avril 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 262
    Par défaut
    Résolu, c'était le 'red' qui posait problème.

    PS:Excusez pour mes up...

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

Discussions similaires

  1. Fonctionnement de .click() sous firefox
    Par Jonathan.Harvey dans le forum jQuery
    Réponses: 6
    Dernier message: 27/01/2012, 21h48
  2. innerHTML fonctionne (presque) pas sous Firefox
    Par briegel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/02/2009, 18h56
  3. Bordercolor sous firefox
    Par furtif1 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 27/12/2006, 14h57
  4. Evenement OnClick qui ne fonctionne pas sous firefox
    Par frechy dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/12/2005, 16h06
  5. Java ne fonctionne pas sous Firefox
    Par Info-Rital dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 29/07/2004, 23h37

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