Avatar billede the-gnu.dk Nybegynder
30. august 2006 - 12:27 Der er 3 kommentarer

Ajax indhente javascript

Jeg bruger følgende javascript

<script>
        function loadXMLDoc(url, requestmethod) {
            if(window.XMLHttpRequest) {
                req = new XMLHttpRequest();
                req.onreadystatechange = processReqChange;
                req.open(requestmethod, url, true);
                req.send(null);
            }
            else if(window.ActiveXObject) {
                req = new ActiveXObject("Microsoft.XMLHTTP");
                if(req) {
                    req.onreadystatechange = processReqChange;
                    req.open(requestmethod, url, true);
                    req.send();
                }
            }
        }
       
        function processReqChange() {
            if(req.readyState == 4) {
                if(req.status == 200) {
                    document.getElementById('main_content').innerHTML = req.responseText;
                }
                else
                    alert("Der opstod en fejl ved forsøg på at indhente data");
            }
        }
</script>



Mit problem ligger i, at det HTML jeg henter ud, indholder et javascript - men det javascript kan jeg ikke få til at køre. F.eks. kan det som hentes ud være:

<script>
    function test() {
      alert('goo');
    }
</script>

<a href="java script:test();">Click</a>


Nogen der har en løsning på det problem?
Avatar billede olebole Juniormester
30. august 2006 - 12:56 #1
<ole>

"Mit problem ligger i, at det HTML jeg henter ud" ... med Ajax returnerer man ikke HTML. Hele idéen med Ajax er, at man kun udveksler rå data mellem klient og server. Al HTML-formatering foretages med DOM i browseren  :)

Derudover skal script-blokke altid escape'es som CDATA i XML:

<script type="text/JavaScript">
<![CDATA[

/* Her står noget script-kode */

]]>
</script>

/mvh
</bole>
Avatar billede the-gnu.dk Nybegynder
30. august 2006 - 13:04 #2
Det indhold som skal vises, hentes ikke som XML, men som ren html (req.responseText).

Det er 30 mindre forms, som kan vises. Hver form skal have en javascript-validate (forskellige). Hmm...
Avatar billede olebole Juniormester
30. august 2006 - 13:14 #3
Jamen, så har du jo en hel del at lave om  :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester