Avatar billede larsen1 Nybegynder
10. april 2002 - 11:59 Der er 4 kommentarer og
1 løsning

Sætte indhold af iframe

Jeg har lavet en helt simpel editor. Indholdet står i en iframe. Nu skal jeg bare have fundet ud af hvordan jeg skriver en javascript funktion, der skriver min tekst i iframen.

Jeg tror jeg leder efter noget i stil med:
document.all.edit.value = "test"

Det er såmænd det eneste....

Iframen ser således ud:
<iframe frameborder="0" id="edit" class="richEdit" onblur="return false">
    <body style="color: black; background: white;font: 10px verdana;">
        HER SKAL TEKSTEN STÅ. DEN SKAL ER STATTE DET DER STÅR NU
    </body>
</iframe>

Er der nogen der lige kan give mig en hånd?
/simon
Avatar billede jakoba Nybegynder
10. april 2002 - 13:04 #1
en iframe er et vindue, og du kan skrive til den som til ethvert andet vindue

var iframedoc = self.frames['iframenavn'].document;

iframedoc.open( "text/html", "replace" );
iframedoc.write( "<html> her skriver du af karken bælg hele den nye htmlside der skal stå i den iframe." );
iframedoc.write( " Med så mange 'iframedoc.write's der nu behøves, indtil du tilsidst lukker med:" );
iframedoc.close();

Din iframe skal have en name='iframenavn' attribut vi kan addressere den med det navn i første linie.

mvh JakobA
Avatar billede lyhr007 Nybegynder
10. april 2002 - 13:16 #2
Du bruger iframe forkert!

Du skal lave 2 sider:

side1.html

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>

<body>
<iframe src="side2.html" frameborder="0" name="edit" class="richEdit" onblur="return false">
</body>
</html>

side2.html

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>

<body style="color: black; background: white;font: 10px verdana;">
  <span id="replaceText"></span>
</body>
</html>


Brug det som Jakoba skrev til at tilgå din Iframe via javascript.

Hvis du har brug for at re-sætte det tekst der stod i iframen, så lav en location.href = 'blank.html'; og derefter skriver du bare til den igen (du skal selvfølgelig lave blank.html).
Avatar billede larsen1 Nybegynder
10. april 2002 - 13:21 #3
Burde dette så ikke fungerer?

<html>
<head>
<title>test</title>

<script>

var iframedoc = self.frames['iframenavn'].document;

iframedoc.open( "text/html", "replace" );
iframedoc.write( "<html> her skriver du af karken bælg hele den nye htmlside der skal stå i den iframe." );
iframedoc.write( " Med så mange 'iframedoc.write's der nu behøves, indtil du tilsidst lukker med:" );
iframedoc.close();

</script>
</head>
<body>

<iframe frameborder="0" name="iframenavn" onblur="return false">
    <body style="color: black; background: white;font: 10px verdana;">
edit
    </body>
</iframe>

</body>
</html>

-Det jeg mener er, at det gør det ikke. Den skriver :
'self.frames.iframenavn.document' er null eller ikke et objekt
Avatar billede lyhr007 Nybegynder
10. april 2002 - 13:24 #4
brug document.iframenavn.document
Avatar billede larsen1 Nybegynder
10. april 2002 - 13:28 #5
OK! jeg prøver .... Tak for hjælpen alle zusammen!

/simon
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