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] parametre sur evenement onclick IE


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 233
    Points : 107
    Points
    107
    Par défaut [DOM] parametre sur evenement onclick IE
    Je n'arrive pas a passer un paramètre pour ma fonction qui est sur mon événement onclick avec IE :

    La construction du bouton devrait donner ce résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="button" name="classeN" value="Supprimer" class="buttonSupprimer" onClick="supprimerClasse(this.name);" />
    ou ClasseN est "classe"+incrément.

    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
     
    	// Si IE
    	if (document.all) {
    		cellInput.setAttribute("className","buttonSupprimer");
    		cellInput.onclick = supprimerClasse;
    	} else {
    	// FF
    		cellInput.setAttribute("class","buttonSupprimer");
    		cellInput.setAttribute("onClick","supprimerClasse(this.name);");
    	}
     
    	// Insertion dans la DOM
    	cell.appendChild(cellInput);
    	row.appendChild(cell);
    }
     
    function supprimerClasse(classe){
    	// Recuperation de l'element a supprimer par le TR car chacun est associé a un ID classeN
    		elementToDelete = document.getElementById(classe);
    		alert("nodeName : "+elementToDelete.nodeName+"\nClasse : "+classe);
    }

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 233
    Points : 107
    Points
    107
    Par défaut
    alors j'ai reussi a recuperer sur mon evenement onclick la classeN a supprimer, j'ai simplement remplacé cette ligne pour IE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cellInput.onclick = supprimerClasse;
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    		cellInput.onclick = function(j){
    				return function() {
    				alert(this.name);
    			}
    		}(i);
    Mais je ne comprends absolument pas le code. Si qlq'1 pouvait m'expliquer celui ci plus clairement. D'avance, merci

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 233
    Points : 107
    Points
    107
    Par défaut
    encore mieux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    		cellInput.onclick = function(j){
    				return function() {
    				supprimerClasse(this.name);
    			}
    		}(i);
    et là, je me retrouve avec la même function de traitement pour mes navigateurs

  4. #4
    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,

    tu peux même te passer de setAttribute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cellInput.className = "buttonSupprimer";
    cellInput.onclick = function(){supprimerClasse(this.name);}
    à quoi servent tes paramètres (i) et (j) dans le code de ton dernier message ?


    Pour attribuer un name à un input il faut procéder autrement

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 233
    Points : 107
    Points
    107
    Par défaut
    à quoi servent tes paramètres (i) et (j) dans le code de ton dernier message ?
    bah justement c'est bien ces paramètres là que je ne comprends pas. j'ai essayé de les enlever mais çà génère des erreurs sous IE. Dans le doute, je préfère les laisser jusqu'a ce que j'en connais la significations/comportement.

    Merci pour le hint sur className

  6. #6
    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
    Citation Envoyé par boutmos Voir le message
    bah justement c'est bien ces paramètres là que je ne comprends pas. j'ai essayé de les enlever mais çà génère des erreurs sous IE. Dans le doute, je préfère les laisser jusqu'a ce que j'en connais la significations/comportement.
    dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cellInput.onclick = function(){supprimerClasse(this.name);}
    ça marche sous IE et FF.

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 233
    Points : 107
    Points
    107
    Par défaut
    lol c'est justement ce que je viens de voir en faisant quelques tests :

    ta méthode est carrément mieux car je me passe du coup d'un test et çà raccourci mon code merci beaucoup.

    Je retourne dans mes éléments DOM =) mon projet avance doucement mais surement, çà fait plaisir. Merci

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 233
    Points : 107
    Points
    107
    Par défaut
    Hé bein , çà marche même avec opéra 9.1 qui me générait les boutons sans le style

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

Discussions similaires

  1. [DOM] optimisation d'evenement onclick
    Par Zwiter dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/07/2008, 15h25
  2. [DOM] evenement onClick sur element crée en javascript
    Par Jérémy Lefevre dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/04/2008, 11h57
  3. redirection de lien sur evenement onclick
    Par geronymo80 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/09/2007, 13h46
  4. Lecture Recordset sur evenement Onclick
    Par zebi42 dans le forum Access
    Réponses: 8
    Dernier message: 08/12/2006, 08h03
  5. Pb sur evenement onclick
    Par megapacman dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 22/06/2006, 10h13

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