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 :

Problème avec event handler


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 225
    Points : 85
    Points
    85
    Par défaut Problème avec event handler
    Bonjour j'ai une page sur laquelle je construit des checkbox " ch1" sans

    event handler onclick


    ensuite j'ai définit une fonction qui ajoute cet eventhandler :

    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
     
     
    function addevent(){
     
            var obj = document.forms("form1").elements['ch1'];
     
     
        for(var no=0;no<obj.length;no++){
            obj.onClick = alert('ok');
     
                             }
     
     
     
    }
    j'appel cette fonction dans le Onload de la page et problème il exécute les "alert(ok)" sansque j'aie cliqué d'abord sur les checkbox

    Savez vous l'origine de ça et comment y remedier?

    je veux ajouter un eventhandler dynamiquement

    Merci

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    recupere tes element avec getElementsByTagName plutot
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 225
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par siddh
    recupere tes element avec getElementsByTagName plutot
    Merci

    Mais ça change quoi ?

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    tu utilise le dom qui est a mon avis plus fiable.

    de plus js est sensible a la casse. met onclick en minuscules.
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 225
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par siddh
    tu utilise le dom qui est a mon avis plus fiable.

    de plus js est sensible a la casse. met onclick en minuscules.

    function chekcclick(){


    var obj = document.getElementsByTagName("ch1");
    alert(obj.length);

    for(var no=0;no<obj.length;no++){
    obj.onclick= alert('ok');

    }



    }



    ça me donne obj.length=0; !!

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    tagname => nom de la balise => input

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function chekcclick(){ 
     
    var obj = document.getElementsByTagName("input"); 
    alert(obj.length); 
     
    for(var no=0;no<obj.length;no++){ 
    if(obj.name == "ch1")
    obj.onclick= alert('ok'); 
     
    } 
     
     
     
    }
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 225
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par siddh
    tagname => nom de la balise => input

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function chekcclick(){ 
     
    var obj = document.getElementsByTagName("input"); 
    alert(obj.length); 
     
    for(var no=0;no<obj.length;no++){ 
    if(obj.name == "ch1")
    obj.onclick= alert('ok'); 
     
    } 
     
     
     
    }
    Merci mais j'ai le même effet : les alert partent sans que j'ai cliqué sur un chekbox

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    tu l appel quand ta fonction checkclick ?

    t as d autres fonctions js dans ta page ?
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  9. #9
    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
    Citation Envoyé par MASSAKA
    for(var no=0;no<obj.length;no++){
    if(obj.name == "ch1")
    obj.onclick= alert('ok');
    }
    Si je peux me permettre, tu ne fais pas du tout usage de ton indice sur lequel tu boucle dans ta boucle. Il faudrait peut-être l'utiliser.....

    Style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for(var no=0;no<obj.length;no++){ 
    if(obj[no].name == "ch1")
    obj[no].onclick= alert('ok'); 
    }
    De plus la syntaxe obj.onevent ne fonctionne pas toujours. Mieux vaut la doubler avec un setAttribute. Bonne chance

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    j avais meme pas fais gaffe honte a moi
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

Discussions similaires

  1. Problème avec Event.current.use
    Par Acropole dans le forum Unity
    Réponses: 0
    Dernier message: 30/04/2010, 11h01
  2. Problème avec le handler du TComPort
    Par ppascal57 dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/09/2009, 20h35
  3. petit problème avec RadioButtons et event :-(
    Par Thundereagle dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 29/09/2007, 12h39
  4. Problème avec un JTextField (Event)
    Par Mike888 dans le forum Composants
    Réponses: 3
    Dernier message: 24/06/2007, 16h11
  5. Problème avec Rhapsody (statechart, event)
    Par F.R.E.D dans le forum Outils
    Réponses: 1
    Dernier message: 15/03/2007, 11h52

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