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 :

évènement onClick avec Firefox


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Par défaut évènement onClick avec Firefox
    Bonjour à tous,

    Voila, j'ai un petit souci. J'ai une page web contenant trois boutons radio et deux zone de saisie. En fonction du bouton radio sélectionné, je doit autoriser ou non la saisie dans tel ou tel zone.

    Voici à quoi ressemble mon 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
     
    // Boutons radio 
    <input type="radio" name="dispense" value="0"  onClick="masque_date('0');"/>
    <input type="radio" name="dispense" value="1"  onClick="masque_date('1');"/>
    <input type="radio" name="dispense" value="2" onClick="masque_date('2');"/>
     
    // Zones de saisie 
    <input type="text" name="datedeb" id="datedeb" maxlenght="10"/>
    <input type="text" name="datefin" id="datefin" maxlenght="10"/>
     
    // Fonction javascript
    function masque_date(typedisp){
    switch(typedisp){
      case '0':
        document.getElementById('datedeb').disabled = true;
        document.getElementById('datedeb').value = "";
        document.getElementById('datedeb').backgroundColor = "#CCCC99";
        document.getElementById('datefin').disabled = true;
        document.getElementById('datefin').value = "";
        document.getElementById('datefin').backgroundColor = "#CCCC99";
        break;
      case '1':
        document.getElementById('datedeb').disabled = false;
        document.getElementById('datedeb').value = "__/__/____";
        document.getElementById('datedeb').backgroundColor = "#FFFFFF";
        document.getElementById('datefin').disabled = false;
        document.getElementById('datefin').value = "__/__/____";
        document.getElementById('datefin').backgroundColor = "#FFFFFF";
        break;
      case '2':
        document.getElementById('datedeb').disabled = false;
        document.getElementById('datedeb').value = "__/__/____";
        document.getElementById('datedeb').backgroundColor = "#FFFFFF";
        document.getElementById('datefin').disabled = true;
        document.getElementById('datefin').value = "";
        document.getElementById('datefin').backgroundColor = "#CCCC99";
        break;
      }
    }
    Le problème est que ce code fonctionne très bien sous IE, mais pas sous FF.
    J'ai consulté un grand nombre de forum, tutoriel et autre, et la seul chose que j'ai compris est que FF ne connait pas l'objet window.event et que par conséquent, il faut lui définir. Est ce que quelqu'un peut me dire comment faire cette définition avec l'évènement onClick?

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    un id doit être unique dans la page.
    Or ce n'est pas le cas ici (typedisp).
    Peut-être cette correction suffira-t-elle ...

    A+

  3. #3
    Membre éprouvé Avatar de DiDieuh
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 111
    Par défaut
    Effectivement l'id doit être unique, utilise l'attribut "class" pour gérer tes input.

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par DiDieuh Voir le message
    utilise l'attribut "class" pour gérer tes input.

    Effectivement,ça serait mieux, mais ça n'a aucun rapport avec le problème ...

    Par contre c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ....style.backgroundColor
    A+

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Par défaut
    Exact, c'est une petite erreur de re-copiage manuelle, etant donné que j'utilise deux postes différent et que mon code est sur l'autre poste. Bien vue

    Le backgroundColor fonctionne, même sans le 'style'.

    Mon problème ne porte pas sur la mise en forme de mes zone de texte, mais sur l'évènement.

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Bugger24 Voir le message
    la seul chose que j'ai compris est que FF ne connait pas l'objet window.event et que par conséquent, il faut lui définir.
    C'est pas faux... ceci dit, il te servirait à quoi l'objet event ???

    Surtout, ça veut dire quoi
    ce code fonctionne très bien sous IE, mais pas sous FF.
    parce qu'en copiant collant le code de ton 1er post, ça marche correctement sur FF

    EDIT : sauf le backgroundColor, bien entendu, qui ne marche pas vraiment bien en dehors de l'objet style...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Par défaut
    Quand je dit que ça ne fonctionne pas, c'est à dire que sous FF, lorsque je sélectionné successivement mes boutons radio, quel qu'il soit, je peut saisir des informations dans mes deux zones de texte, à l'inverse d'IE qui, en fonction du bouton selectionné, m'interdit la saisie

    P.S.: Mea-culpa les amis, encore une erreur de re-copiage, effectivement backgroundColor ne fonctionne pas sans l'objet style

  8. #8
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut ceci n'est pas une solution
    j'avais trois minutes à perdre, alors j'ai "rangé" un peu oui je jure je vais aller me soigner
    Code javascript : 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
    // Fonction javascript
    function masque_date(typedisp){
       var deb = document.getElementById('datedeb');
       var fin = document.getElementById('datefin');
       var BLANC = "#FFFFFF", COUL = "#CCCC99", FORMAT_DATE = "__/__/____";
       switch(typedisp) {
          case '0':
             deb.disabled = true;
             deb.value = "";
             deb.style.backgroundColor = COUL;
             fin.disabled = true;
             fin.value = "";
             fin.style.backgroundColor = COUL;
             break;
          case '1':
             deb.disabled = false;
             deb.value = FORMAT_DATE;
             deb.style.backgroundColor = BLANC;
             fin.disabled = false;
             fin.value = FORMAT_DATE;
             fin.style.backgroundColor = BLANC;
             break;
          case '2':
             deb.disabled = false;
             deb.value = FORMAT_DATE;
             deb.style.backgroundColor = BLANC;
             fin.disabled = true;
             fin.value = "";
             fin.style.backgroundColor = COUL;
             break;
       }
    }
    ...et en passant il y a aussi cette petite erreur (peut-être simplement mauvaise recopie...) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="datefin" id="datefin" maxlenght="10"/>

  9. #9
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Par défaut
    Merci pour cette interlude syntaxique RomainVALERI
    J'ai modifié mon code avec les changements que tu y a apporté

    Par contre mon problème de départ persiste et j'arrive pas à m'en défaire. Je ne comprend pas pourquoi ce code ne fonctionne pas chez moi avec FF, alors que plusieurs personnes de ce forum l'on testé et ça fonctionne , je sèche ...

  10. #10
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    J'ai envie de dire une bêtise mais le Javascript est activé sur votre FF ?

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

Discussions similaires

  1. [Dojo] Attacher une fonction à l'événement onClick avec dom-attr.set()
    Par Gueknow dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 17/10/2014, 17h12
  2. Compatibilité OnClick avec Firefox
    Par nathanh dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/12/2012, 18h59
  3. Ajouter un évènement onclick avec un argument au callback
    Par _jey_ dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 17/07/2009, 15h24
  4. onclick avec firefox
    Par elebora dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 19/05/2009, 14h04
  5. évènement onclick avec php
    Par canary dans le forum Langage
    Réponses: 5
    Dernier message: 25/03/2009, 23h09

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