bonjour à tous

Je suis entrain de créer un site avec de bien jolie effet et de l'AJAX ( sujet sensible...). J'aimerai pouvoir activer des scripts dans mes pages AJAX. Vous allez me dire: "oui y a qu'a ajouté evalScripts ou evalResponse et tu pourra exécuter tes scripts dans des balise onclick, onbidul ou onmachin" et vous avez raison, sauf que moi je veut plus (oué je sais, je suis chiant u_u)
Bref j'ai envie d'exécuter des scripts entre des balises "SCRIPT" (paye ton originalité ) mais dans ces balise je voudrais jouer avec des input et mes liens. Pour sa j'ai 3 - 4 scripts que je veux utiliser:
- SexyForm: pour modifier mes input (type: checkbox, radio) et select (pour le reste je suis assez grand pour le faire moi même ^^)
- SexyLightBox: pour ouvrir des petites pages qui non pas besoin d'une grosse page pour charger (genre un formulaire )
- SexyAlertbox: pas encore décider pourquoi mais je trouverais facilement
- Mon script de chargement AJAX (ba ouép dans le cas d'une pagination ou d'une redirection vers une autre page sa peut être utilise )
- Diverse autres scripts afin d'assister au mieux les gens tout en gardant des bien jolie effets

A l'heure qu'il est, j'ai parcouru diverse page, bu un certain nombre de tasse de café, parcouru google de la cave au grenier pour essayer de comprendre comment c'était possible. (après tout facebook la fait pourquoi pas moi)
J'ai trouver cette fonction:
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function setInnerHTML(pDivObject, pHTML) 
{
  // mise du contenu HTML dans pDivObject
  pDivObject.innerHTML=pHTML; 
  var All=pDivObject.getElementsByTagName("*");
  for (var i=0; i<All.length; i++) 
  {
    All[i].id=All[i].getAttribute("id");
    All[i].name=All[i].getAttribute("name");
    All[i].className=All[i].getAttribute("class");
  }
  var AllScripts=pDivObject.getElementsByTagName("script");
  // parcours du tableau à l'envers pour n'être pas perturbé par l'effet du removeChild 
  for (var i=AllScripts.length-1; i>=0; i--)
  {
    var s = AllScripts[i];
    var oScript = document.createElement("script");
    oScript.type='text/javascript';
 
    if (s.src && s.src!="") 
    {
      oScript.src = s.src;
    } else 
    {
      oScript.innerHTML = s.innerHTML;
    }
    // rajoute dans le body du document pere ce qui assure son execution
    // et la disponibilité des fonctions ainsi ajoutées
    // de plus, cela evite un appel Ajax dans le cas ou s.src est spécifié 
    document.body.appendChild(oScript);
 
    // retrait du script dans l'objet cible 
    // Attention : cela a un effet immédiat sur le contenu de la variable AllScripts (modifications indexes et contenus)
    // voila pourquoi le tableau des scripts est parcouru à l'envers
    pDivObject.removeChild(s);
  }
}
qui permet d'exécuter du script et style (merci a son auteur). J'en suis arrivé à l'exécution de ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<script type="text/javascript">
 
	$$(".dosexy").each(function(el) {
		el.DoSexy();
		alert(el.get('name'));
	  });
 
</script>
sa marche a moitier, le each se fait bien, "el" est bien récupéré car "el.get('name')" me retourne bien l'attribut "name" de ma balise input mais il ne se passe rien pour la fonction DoSexy, il n'y a aucune mise en forme de mes input . Ce qui est assez perturbant c'est qu'il trouve bien la fonction DoSexy car quand je remplace par Dosexy, il me dit "fonction inexistante" (il c'est firebug)

Donc voilà, j'aimerai connaitre vos idées, hypothèse, question (?!) à ce sujet. je met à disposition des exemples concret et les scripts en question. Pour le moment je me suis surtout pré-occupé de sexyForm et des lien Ajax. Pour le reste je verrais par la suite

Merci infiniment pour ceux qui vont se pencher sur mon problème et sa en aidera surement + d'un


PS: Site tester seulement sous mozilla 3.6 pour le moment