Bonjour,

Ca fait un petit moment que je planche sur l'implementation d'un script.
Je m'explique.

J'ai déclarer une class mootools
Cette class permet de récupérer le contenu HTML d'un fichier externe au programme et de l'injecter dans une div.
Jusque là pas de Pb.

Je récupère le contenu HTML par la methode Ajax de mootools que j'ai placé dans une méthode de la Class
var monObjetAjax= new Ajax(this.src_doc, this.ajaxOptions);

Le HTML récupéré contient un lien :
<a href="#">click</a>

Le but de mon projet est d'attribuer un événement "Click" sur ce lien, et cet événement devra exécuter une méthode contenu dans la Class.

Fichier 1: index.php

<html>
<head>
<script language="javascript" src="scripts/_msgbox_doc.js"></script>
<script language="javascript">

function msgbox_doc(src)
{
myMsgBox_doc.show(LABEL["LOGICODE_INVALID"], src, 1);
}

</script>
</head>
<body>
<div id="global">

<div id="button">
<a href="javascript:msgbox_doc('modules/fichierExt.php')">LOAD PAGE</a>

</div>
<div id="alert"></div>
<div id="content"></div>
</div>

</body>
</html>


La class: _msgbox_doc.js
var agMsgBox_doc =
new Class(
{
initialize:
function()
{
this.MyAlert('Chargement ....');
},

MyAlert:
function(message)
{
$('alert').setHTML(message);
},

Load:
function()
{
ajaxOptions = { update : $('content'),
onSuccess : function()
{

$('validation').addEvent("click", this.MyAlert("YOU CLICK ..."));
}

};
}


});
// global
myMsgBox_doc = "";

// loader
window.addEvent("domready",
function()
{
myMsgBox_doc = new agMsgBox_doc;
}
);


////////////////////
et le fichier externe: fichierExt.php
<a href="#" id="validation">click me</a>



Donc le process:
Ma page HTML appellée (index.php), charge mon fichier de class et dessine 3Divs:
le div 1 contient un bouton qui va appeler la méthode load de la class.
le div 2 est une boite d'info dans lequel j'affiche des messages contextuels.
le div 3 le container recevant le contenu du fichier externe (fichierExt.php)

Je click sur le bouton "LOAD PAGE", le message chargement s'affiche correctement dans le div "Alerte".
Un fois le contenu externe chargé dans le div "content" j'attribut un évènement sur le lien contenu dans le fichier externe (qui n'est plus externe puisque chargé dans 'content').
Le fait de cliquer sur ce lien devrait faire apparaitre le message "YOU CLICK ..." dans le div "alert" malheureusement la réponse que j'ai dans firebug est que la méthode this.MyAlert() n'existe pas alors qu'elle a fonction une première fois.

J'imagine bien que la methode Ajax de Mootools perd les référents de l'objet appelant mais je n'arrive pas à lui passer, même par un bind().

Y aurait-il une âme charitable