Accueil > Forum > > > > [OBJET] Appel d'une méthode sur un évènement
[OBJET] Appel d'une méthode sur un évènement
mardi 28 février 2006 à 12:34:48 |
[OBJET] Appel d'une méthode sur un évènement

malalam
|
Hello, bon, je vais tâcher de la faire court. J'ai une page dans laquelle je définis des objets js. Puis j'instancie ces objets. Ensuite, j'ai du html, des boutons, sur lesquels je place des évènements. Dans ces évènements, je tente de faire appel aux méthodes de mes objets. Malheureusement, ça ne marche pas, mes instances n'existent plus. Bref ça donne grosso modo ça : <script type="text/javascript"> function objet1 () { } objet1.prototype.start () { with (objet1) { bla bla } } objet1.prototype.methodeEvent = function (truc) { with (objet1) { bla bla } } obj = new objet1 (); </script> <input type="button" id="buttonId" value="click" onclick="obj.methodeEvent('bla');" /> <script type="text/javascript"> obj.start (); </script> obj = new objet1 (); fonctionne à merveille. obj.start (); aussi.
Mais au milieu, le onclick="obj.methodeEvent('bla');" ne passe pas du tout. obj.methodeEvent n'est pas une fonction. Si je ne préfixe pas avec obj, il me dit que methodeEvent est indéfini.
Je voudrais, si possible : une explication (histoire de pas mourir bête), et une solution (tant qu'à faire ;-) ). Merci par avance!! :-)
|
|
mardi 28 février 2006 à 12:54:41 |
Re : [OBJET] Appel d'une méthode sur un évènement

bultez
|
Réponse acceptée !
Bonjour, je ne suis sûr ni d'avoir compris, ni de répondre, mais :
<script type="text/javascript"> function objet1 () { alert('objet1'); } function objet1.prototype.start () { with (objet1) { alert('start'); } }
function objet1.prototype.methodeEvent(truc) { with (objet1) { alert('methodeEvent='+truc); } }
var obj = new objet1 (); obj.start(); </script> <input type="button" id="buttonId" value="click" onclick="obj.methodeEvent('bla');" />
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~
|
|
mardi 28 février 2006 à 13:48:55 |
Re : [OBJET] Appel d'une méthode sur un évènement

malalam
|
Réponse acceptée !
Hello,
merci pour la réponse déjà. Mais qu'as tu changé là au juste ? Si ce n'est que la méthode start () est appelée avant le html ? Et dans mon cas, je ne peux pas. De toutes façons, ça ne change rien : mon objet est instancié. La pméthode start () est une autre méthode dont j'ai besoin plus tard (c'est un timer en fait).
Le problème est l'appel sur l'évènement : obj.methodeEvent('bla') ne passe pas.
J'ai résolu (temporairement), en faisant ujn truc bien tordu:
sur l'évènement, j'appelle une fonction normale : onclick="appelMethode ('bla');"
et dans le js APRES le html, je fais ceci :
function appelMethode (bla) { obj1.methodeEvent(bla); }
Et comme j'ai plusieurs instances d'ujn même objet, j'ai été obligé de jouer avec un id d'instance (je crées mes instances dans un tableau, je récupère la clef courante qui est aussi l'id de ma balise html sur laquelle se trouve l'évènement, et j'appelle la méthode correspondante à l'instance dont la clef est celle-ci...je sais c'est pas clair lol).
néanmoins, je teste ton code et j'essaye de reproduire mon problème avec...2mn :-)
2mn later...
Ahem, j'ai modifié ton code parce qu'en l'état il ne fonctionnait pas, mais en effet tu avais modifié plus que ce que je pensais ;-) : <script type="text/javascript"> function objet1 () { alert('objet1'); } objet1.prototype.start = function () { with (objet1) { alert('start'); } }
objet1.prototype.methodeEvent = function (truc) { with (objet1) { alert('methodeEvent='+truc); } }
var obj = new objet1 ();
</script>
<input type="button" id="buttonId" value="click" onclick="obj.methodeEvent('bla');" /> <script type="text/javascript"> obj.start(); </script>
et là, ça tourne, et c'est un gros soucis pour moi lol parce que c'est exactement la structure que j'ai (avais) et qui ne tourne pas...
Je ne veux pas mettre mon code ici parce qu'il est un peu long...mais je viens de le réécrire à peu près tel qu'il était, et décidément...je ne vois pas où est l'erreur. Je dois manquer quelque chose...
Enfin, en tous cas, merci, parce que ça me permet de voir que ce que j'avais fait devrait fonctionner, et que je dois juste ne pas avoir les yeux en face des trous, là, sur mon code (une petite bévue a dû s'y glisser).
|
|
mardi 28 février 2006 à 14:19:35 |
Re : [OBJET] Appel d'une méthode sur un évènement

coucou747
|
Réponse acceptée !
Salut,
Un exemple qui marche :
<html>
<head>
<title>Objet Call méthode dans un onclick après document.write</title>
</head>
<body>
<script type="text/javascript">
function monobj(name_){
this.name_=name_;
this.afficher=afficher;
this.agir=agir;
}
function afficher(){
document.write('<input type="button" value="'+(this.name_)+'" onclick="'+(this.name_)+'.agir();">');
}
function agir(){
alert(this.name_+" agit !");
}
a=new monobj('a');
a.afficher();
</script>
</body>
</html>
à mon avis, il te manque this.agir=agir; dans ton constructeur....In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy Mon site (articles sur la programmation et programmes)
|
|
mardi 28 février 2006 à 14:46:04 |
Re : [OBJET] Appel d'une méthode sur un évènement

malalam
|
Je te montrerai mon code, ce sera plus simple. L'exemple que je mets plus haut, adapté de celui de Bul, fonctionne à merveille. Mais pas dans mon code lol.
Je testerai quand même avec le this.agir = agir dans le constructeur, oki :-)
Merci :-)
|
|
mardi 28 février 2006 à 14:52:33 |
Re : [OBJET] Appel d'une méthode sur un évènement

bultez
|
plusieurs méthodes pour faire de l'Orienté Objet en JS, j'en proposais une différente de celle utilisée car j'en connais mieux la syntaxe, comme elle me semble pouvoir s'appliquer partout (?) et toujours (?) je n'ai jamais qu'utilisé que ça. je pense que tu n'as qu'un "problème de syntaxe"
>>Si ce n'est que la méthode start () est appelée avant le html non, bien entendu, après, ça baignerai aussi, j'ai fait comme ça pour l'exemple, pour éviter 2 balises <script...., c'est tout. >>ton code parce qu'en l'état il ne fonctionnait pas euh ? ben si, mais en l'état hein, sans rien d'autre.
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~
|
|
mardi 28 février 2006 à 14:55:35 |
Re : [OBJET] Appel d'une méthode sur un évènement

malalam
|
Ben non lol, enfin pas chez moi. Je l'ai copié collé sur une page à part. J'ai l'erreur '
|
|
mardi 28 février 2006 à 14:56:54 |
Re : [OBJET] Appel d'une méthode sur un évènement

malalam
|
Merde, l'erreur :'obj est indéfini'. Sur Firefox. Sur IE j'ai pas encore testé (ce qui ne me rassure pas pour mon code lol).
|
|
mardi 28 février 2006 à 15:00:59 |
Re : [OBJET] Appel d'une méthode sur un évènement

bultez
|
Réponse acceptée !
j'avais précisé dans mon dernier message que le test était uniquement avec IE, mais cette partie à sûrement été enlevée par des extra-terrestres... syntaxe différente entre FF et IE, hélas. Cordialement. Bul. ~ Mon Site qu'il est à Moi ~
|
|
mardi 28 février 2006 à 15:04:44 |
Re : [OBJET] Appel d'une méthode sur un évènement

bultez
|
Réponse acceptée !
objet1.prototype.methodeEvent=function(truc) { alert('methodeEvent='+truc); }
ça devrait le faire pour les 2
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~
|
|
Cette discussion est classée dans : appel, obj, bla, objet1, methodeevent
Répondre à ce message
Sujets en rapport avec ce message
appel javascript [ par guillaume ]
je voudrais faire un appel javasript dans une carte graphique client (sous dreamweaver).si qq a une idée elle serait la bien venue.mercie d'avance.gui
appel javascript [ par guillaume ]
je voudrais faire un appel javasript dans une carte graphique client (sous dreamweaver).si qq a une idée elle serait la bien venue.mercie d'avance.gui
appel fonct. Javascrit dans asp [ par bboykossity ]
salut les potes!j'voudrais appeler une fct javascript de l'asp, comment faire ?petit exemple : function toto(){alert("youplala");} <
Appel d'une fonction VB dans une fonction javascript [ par tiger76 ]
Salut à tous!J'ai besoin d'aide : je cherche à appeler une fonction en VBScript à l'intérieur d'une fonction en Javascript.Exemple : function toto()..
Comment convertir une chaine en object ? [ par Dexterin ]
Bonjour !J'ai un gros soucis...Je désire créer une fonction javascript qui me donne un object en fonction d'une chaine de caractère :Exemple, actuelle
appel d'images [ par fmichaud ]
Françoisexiste-t-il un code permettant d'appeler des images en tuile, type fractal, donc des fichiers autres que JPG, Gif etc..?merci de vos réponses
appel de fonction [ par deewhy ]
appel de fonction [ par deewhy ]
appel fonction [ par cosminutza ]
Salut! Je voudrais transmettre a la partie script (javascript) d'une image SVG contenue dans une page web, une string contenant le nom de la fonction
appel fonction vb.net depuis javascript [ par cedced59 ]
Bonjour à tous,est-il possible depuis javascript d'appeler une fonction se trouvant dans une page .aspx?Et si oui, comment faire.Merci d'avance.
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|