Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1230 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Evaluation d'un script recupéré depuis le onclick

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Evaluation d'un script recupéré depuis le onclick

n°1438287
ouioui2000
Posté le 07-09-2006 à 13:34:22  profilanswer
 

Je possede un onglet avec une fonction onclick dasn le code HTML

Code :
  1. <a href="#" id="a_onglet_view" onclick="monScript()" >Visualisation</a>


 
Dans un autre script je veux executer cette fonction en allant la chercher
 

Code :
  1. if ( $("a_onglet_view" )!=null) {
  2.       onclick_onglet_voir=$("a_onglet_view" ).getAttribute("onclick" );
  3.       alert (onclick_onglet_voir);
  4.       eval(onclick_onglet_voir); // simule l'execution du onclick attaché à l'onglet "voir"
  5.     }


NB : j'utilise prototype.js et dans prototype   $ = getElementById  
 
Sous firexfox le script marche et le alert donne bien le nom de la function que je veux evaluer

Code :
  1. monScript()


 
Sous internet explorer le script ne marche pas et le alert donne  

Code :
  1. function anonymous {
  2.   monScript()
  3. }


La function que je veux executer a été encapsulé dans cette function anonymous et lorsque je fait l'éval sur celle-ci (eval(onclick_onglet_voir)), rien ne se passe.
IE me renvoie une function a l'intérieur d'une autre function. Je crois que l'on apelle cela une closure. Je vais lire la dessus mais si quelqu'un a une idée elle sera la bien venue.:D:
 
Peut-être faut-il introspecter la chaine renvoyé pour aller chercher la function contenu et l'executer ?

mood
Publicité
Posté le 07-09-2006 à 13:34:22  profilanswer
 

n°1438739
nargy
Posté le 07-09-2006 à 22:05:09  profilanswer
 

Autre solution:
en plus du onclick tu ajoute un attribut 'bidon' qui contient la même chose. evel() devrait alors fonctionner.

n°1438827
gatsu35
Blablaté par Harko
Posté le 08-09-2006 à 09:00:16  profilanswer
 

<a onclick="mafonction()" id="truc"></a>
 
 
ben pourquoi tu fais un eval alors que c'est bien crade et que ca pue alors qu'en faisant :  
 
document.getElementById("truc" ).onclick(); tu fais la même chose.
donc via prototype :  
$("truc" ).onclick();  
 
 
C'est totalement inutile de recuperer le contenu de cette fonction et de faire un eval derrière. Surtout que le comportement des navigateurs peut etre différent
 
 

n°1438853
anapajari
s/travail/glanding on hfr/gs;
Posté le 08-09-2006 à 09:32:58  profilanswer
 

gatsu35 a écrit :

... pleins de trucs ...


tain mais +1000 :o

n°1438856
ouioui2000
Posté le 08-09-2006 à 09:36:02  profilanswer
 

Je t'aime Gatsu35   :love:  :)  
 
Ce qu'il y a de bien, que l'on découvre au fur et à mesure c'est que javascript est assez direct. Je n'aurais jamais pensé éxécuter la fonction directement, je me suis torturé la tête avec une évaluation !!
 
Encore Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Evaluation d'un script recupéré depuis le onclick

 

Sujets relatifs
[PHP] bug dans un script d'inscriptionpb script ksh
DBD::Mysql DBI CGI vs ScriptScript
Temps d'execution d'un scriptProblème de compatibilité script AJAX/IE
Script PageWeb Smilleyprobleme action script, préchargement
script de verification ms_dosscript alternatifs pour connexion à un serveur MySQL
Plus de sujets relatifs à : Evaluation d'un script recupéré depuis le onclick


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR