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 :

Modifier onclick dynamiquement pour passer une fonction avec param�tres


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Novembre 2013
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : Sant�

    Informations forums :
    Inscription : Novembre 2013
    Messages : 4
    Par d�faut Modifier onclick dynamiquement pour passer une fonction avec param�tres
    Bonjour � tous,

    J'essaye d'attribuer un onclick dynamiquement � des objet HTML
    ma syntaxe actuelle est
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    myHtmlElement.onclick=function(){myFunction();};
    Je n'ai pas d'erreur dans la console firebug mais le click ne gen�re pas l'appel voulu � la fonction.
    Une seconde �tape lorsque la premi�re sera fonctionnelle sera de passer des arguments � la fonction comme ceci:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    $var aParam = 0;
    myHtmlElement.onclick=function(){myFunction(aParam);};
    Je pense qu'il doit manquer des quotes ou doubles quotes quelque part ?

  2. #2
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par d�faut
    Je n'ai pas d'erreur dans la console firebug mais le click ne gen�re pas l'appel voulu � la fonction.
    Pourtant il n'y a pas de probl�me, c'est ainsi que tu peux ex�cuter myFunction au clic sur myHtmlElement.
    Ou plus simplement :
    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    myHtmlElement.onclick = myFunction;

    $var aParam = 0; => Que fait le $ ici ? C'est un probl�me de copi�/coll� ?

    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    var aParam = 0;
    myHtmlElement.onclick = function(){
      myFunction(aParam);
    };

  3. #3
    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
    Reste � savoir d'o� sort myHtmlElement.
    Une erreur typique est de vouloir appliquer une m�thode (ou d�finir une propri�t�) d'un �l�ment HTML � une collection.
    Donc si la variable myHtmlElement correspond � une collection (utilisation de getElementsByTagName, getElementsByName, getElementsByClassName, querySelectorAll), �a ne peut pas marcher.
    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

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Novembre 2013
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : Sant�

    Informations forums :
    Inscription : Novembre 2013
    Messages : 4
    Par d�faut
    L'�l�ment est de type td :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for (var i=0; i < 4; i++) {
      cellule = ligne.insertCell();
      cellule.innerHTML = elements[2];  
      cellule.onclick=function(){test(i);};
    }
     
    function test(val) {
      alert("cellule " + val);
    }
    C'est presque bon mais il manque une �tape. Toutes les cellules renvoient la m�me valeur puisque bien sure i n'est pas remplac� par sa valeur quand on assigne la fonction � onclick. Quelle est la bonne syntaxe pour obtenir une substitution de i par sa valeur lors de l'assignation de la fonction ?

  5. #5
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonjour,
    il existe la solution propos�e par la
    Comment attribuer � des objets un onclick faisant appel � une variable de boucle ? entre autres.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Novembre 2013
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : Sant�

    Informations forums :
    Inscription : Novembre 2013
    Messages : 4
    Par d�faut
    Merci, oui j'ai utilis� le m�me type de contournement en cr�ant un id pour mes �l�ments qui me permet de r�cup�rer la valeur cherch�e en utilisant this.id

    On va dire que c'est r�solu comme �a

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 15
    Dernier message: 02/08/2007, 11h17
  2. [DOM] Onmouseover pour lancer une fonction avec arguments
    Par Trock dans le forum G�n�ral JavaScript
    R�ponses: 11
    Dernier message: 01/06/2007, 13h31
  3. Gtk: probl�me pour passer une structure en param�tres
    Par C_Chaou dans le forum GTK+ avec C & C++
    R�ponses: 3
    Dernier message: 19/04/2007, 19h29
  4. Passer une fonction en param�tre ...
    Par Freeze dans le forum C++Builder
    R�ponses: 2
    Dernier message: 14/10/2005, 16h51
  5. [Conception] Passer une fonction en param�tre
    Par pejay dans le forum Langage
    R�ponses: 9
    Dernier message: 09/12/2004, 13h58

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