Avatar billede javascript Nybegynder
13. juli 2005 - 04:58 Der er 15 kommentarer og
1 løsning

Indsætte <script> i en innerHTML

Hejsa, jeg har et stort problem, fordi jeg ikke kan lave:
document.getElementById('div').innerHTML = "<script>funktion('bæab'); </script>";
</script>

den udskriver bare
---> "; <---

En der kan hjælpe !-)?
Avatar billede javascript Nybegynder
13. juli 2005 - 04:58 #1
Spørgsmålet er selføleig hvordan jeg så laver det!
Avatar billede busschou Praktikant
13. juli 2005 - 07:47 #2
Hmm alt som er i et <script> tag skrives jo ikke ud til skærmen
Så den burde vel ikke skrive noget af det ud !?
Avatar billede busschou Praktikant
13. juli 2005 - 07:49 #3
altså jeg ville logisk mene at hvis du vil vise det i din div så skulle du bruge
&lt;script&gt;funktion('bæab');&lt;/script&gt;
Avatar billede roenving Novice
13. juli 2005 - 10:11 #4
-- men du vil vel bare have afviklet funktionen, så det er vel at kalde den i stedet for at kaste et javascript ind i en innerHTML ?-)
Avatar billede javascript Nybegynder
13. juli 2005 - 14:45 #5
Nej, vil have den til og loade
<script>function('n...','mmmn','gfdgfg'); </script> i en innerHTML !
:]
Avatar billede busschou Praktikant
13. juli 2005 - 14:46 #6
så skal du vel bare kalde den?
document.getElementById('div').innerHTML = function('n...','mmmn','gfdgfg');
hvis funktionen altså returnerer en tekst streng
Avatar billede javascript Nybegynder
13. juli 2005 - 15:01 #7
Nej, fordi den kører med PHP !-)
fx.
parent.document.getElementById('div').innerHTML = "<script> <?php include("fg.php"); blablabla while () { parent.alerts('$row[besked]'); } ?> </script>";
Avatar billede javascript Nybegynder
13. juli 2005 - 15:58 #8
En der kan? :)
Avatar billede javascript Nybegynder
13. juli 2005 - 16:35 #9
altså jeg ville logisk mene at hvis du vil vise det i din div så skulle du bruge
&lt;script&gt;funktion('bæab');&lt;/script&gt;

- Den skal udskrive:
<script>blablabla</script> sådan det virker, ikke sådan den fjerner html tags'ne! :)
Avatar billede busschou Praktikant
13. juli 2005 - 16:43 #10
ok men sådan som du umiddelbart gør det burde det vist også virke så
Så skulle det være fordi noget i din php kode gør at det ikke kommer ud i korrekt html måske
Prøv at tage en "vis kilde" på din div som den ser ud når <script> koden er indsat
Avatar billede javascript Nybegynder
13. juli 2005 - 16:43 #11
Har lige prøvet noget andet så udskriver den dette i kildekoden..

<script>
parent.document.getElementById('load').innerHTML = "<script>deleteuser(2);deleteuser(6); </script>";
</script>

men fejlen siger "Strengkonstanten er uafsluttet"

og udskriver på siden --> "; <--
Avatar billede olebole Juniormester
13. juli 2005 - 17:14 #12
<ole>

JavaScript kan/må ikke skrive 'script'. Man kan gøre noget à la:

ELEMENT.innerHTML = "<scr"+"ipt type=\"text/JavaScript\">alert('her kan du dine funktioner, m.m.')</scr"+"ipt>";

/mvh
</bole>
Avatar billede javascript Nybegynder
13. juli 2005 - 18:18 #13
Tag dog og smid et svar! :D
Avatar billede olebole Juniormester
13. juli 2005 - 18:20 #14
*griiiiiiiiib*  :]
Avatar billede javascript Nybegynder
13. juli 2005 - 18:23 #15
:-D!
Avatar billede olebole Juniormester
13. juli 2005 - 18:38 #16
thnx  :)

- så vil jeg i øvrigt kraftigt anbefale en anden og langt kønnere teknik:

<script type="text/JavaScript">
function myTest() {
    var scr = document.createElement("script");
    scr.setAttribute("type", "text/JavaScript");
    scr.text = "function bla(){alert('Funktionen bla() blev kaldt')}";
    document.getElementById("gnu").appendChild(scr);
}
</script>

<div id="gnu"></div>

<button onclick="myTest()">Indsæt Script</button>
<button onclick="bla()">Test bla()</button>
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