AJAX et feuille html / javascript
Résolu
LouLou Piwel
-
Bilow Messages postés 171 Date d'inscription Statut Membre Dernière intervention -
Bilow Messages postés 171 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voila mon probléme
je passe une feuille par le systéme AJAX contenant un script/javascript à l'intérieur
Manque de bol, le script ne fonctionne pas ; voila ma feuille que j'essaye de transmettre :
<input type="text" value="" />
<input type="button" value="test" onclick="test()" />
<script type="text/javascript">
function test(){
alert(document.getElementById('text').value);}
</script>
une idée ??
j'ai bien penser à faire une sorte de "parseur" javascript, avec du regex
ou j'ai tenter aussi un eval .. mais rien n'y fait !
Voila mon probléme
je passe une feuille par le systéme AJAX contenant un script/javascript à l'intérieur
Manque de bol, le script ne fonctionne pas ; voila ma feuille que j'essaye de transmettre :
<input type="text" value="" />
<input type="button" value="test" onclick="test()" />
<script type="text/javascript">
function test(){
alert(document.getElementById('text').value);}
</script>
une idée ??
j'ai bien penser à faire une sorte de "parseur" javascript, avec du regex
ou j'ai tenter aussi un eval .. mais rien n'y fait !
4 réponses
-
Salut,
Ton input text n'a pas id="test".
Par conséquent, ceci est null :
(document.getElementById('text').value)
Essaye aussi ceci si besoin :onclick="javascript:test();"
-
Ceci marche parfaitement chez moi :
<html> <body> <input type="text" value="" id="test" /> <input type="button" value="click me" onClick="test()" /> <script type="text/javascript"> function test() { alert(document.getElementById('test').value); } </script> </body> </html> -
[resolu]
Voila la solution ... héhé,
navré de vous avoir déranger mais j'ai trouver ma solution tout seul
xhr.open('GET','mapage.html',true); xhr.onreadystate=function(){ if(xhr.readyState==4 && xhr.status==200){ insert(xhr.responseText);}} xhr.send(null); function insert(rep){ var elt = document.getElementById('maDiv'); elt.innerHTML=rep; // c'est ici le truc ! if(rep.match("<script","g")){ var scs = elt.getElementsByTagName('script'); for(var i in scs){ var script = document.createElement('script'),content; script.type="text/javascript"; content = scs[e].innerHTML; script.innerHTML=content; document.body.appendChild(script);} } -
Eh oui, en Javascript, on ne peut pas faire :
element.innerHTML = "<script> ...";
Cela ne fonctionnera pas ! Il faut donc sortir le Javascript de la variable destinée à l'innerHTML.
;-)