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 :

[DOM] Evènement onChange


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 53
    Par défaut [DOM] Evènement onChange
    Bonjour,

    J'ai besoin de changer la valeur du onChange d'un element select,

    Au chargement de la page j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select id="mgmtCode" name="mgmtCode" onchange="changeMgmtCode(this);">
    => ça marche, pas de pb

    ensuite pour supprimer l'évènement, je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var costcenterList = document.getElementById("mgmtCode");
        costcenterList.onchange = "";
    => ça fonctionne l'action n'est plus déclenchée

    par contre quand je veux remettre l'evènement (la fonction javascript associée) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        var costcenterList = document.getElementById("mgmtCode");
        costcenterList.onchange = "changeMgmtCode(this);";
    => ça marche pas ... il ne se passe rien quand je change la valeur de la combobox

    Quelqu'un à une idée ?

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var costcenterList = document.getElementById("mgmtCode");
        costcenterList.onchange = function(){changeMgmtCode(this);}
    mais comme je crois que ce n'est pas compatible IE et FFX
    essaye de le doubler avec
    setAttribute:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       costcenterList.setAttribute('onchange','changeMgmtCode(this);')
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    costcenterList.onchange = function() {
       changeMgmtCode(this);
    }
    EDIT: grilled

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 53
    Par défaut
    merci à tous les deux,
    j'ai essayer vos solutions mais ça ne change rien

    J'ai finalement décider de recréer un composant select identique mais sans evènement onchange

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 53
    Par défaut
    En fait j'ai trouvé pourquoi ça ne marchait pas !!

    Il ne faut pas mettre de guillemets lors de l'affectation de la methode à l'evenement (contrairement à tous les autres attributs) :

    NE MARCHE PAS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    costcenterList.onchange = "changeMgmtCode();";
    MARCHE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    costcenterList.onchange = changeMgmtCode();

  6. #6
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    oui car en fait si tu met des quotes ton attribut onchange est de type texte, alors que si tu les met pas, ca devient un pointeur de fonction

  7. #7
    Expert confirmé

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

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

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par plasticgoat
    Il ne faut pas mettre de guillemets lors de l'affectation de la methode à l'evenement (contrairement à tous les autres attributs) :
    Contrairement à tous les attributs "normaux" mais de la même façon que tous les gestionnaires d'evenements.
    Tu dois leur donner une fonction à executer en cas d'un évenement...

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 53
    Par défaut
    Citation Envoyé par denisC
    Citation Envoyé par plasticgoat
    Il ne faut pas mettre de guillemets lors de l'affectation de la methode à l'evenement (contrairement à tous les autres attributs) :
    Contrairement à tous les attributs "normaux" mais de la même façon que tous les gestionnaires d'evenements.
    Tu dois leur donner une fonction à executer en cas d'un évenement...
    oui effectivement, j'avais pas assez précisez ma pensée

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

Discussions similaires

  1. Evènement 'onChange' sur un TextField
    Par Giovanny Temgoua dans le forum Java ME
    Réponses: 2
    Dernier message: 07/03/2010, 16h57
  2. [Débutant] evènement onChange sur input text
    Par jacquesprogram dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/12/2009, 12h16
  3. [AJAX] Evènement Onchange sur IE7 et AJAX
    Par vetchang dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/06/2008, 11h45
  4. Evénement ONCHANGE pour un champ texte
    Par Sytchev3 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 06/09/2007, 12h31
  5. Evènement onChange et liste déroulante
    Par wonga dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/08/2007, 10h23

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