---
title: "write utan att ersätta befintlig kod."
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/100938-write-utan-att-ersätta-befintlig-kod"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "KalsongCesar"
published: "2004-04-05T13:39:44.000Z"
updated: "2004-04-07T15:41:56.000Z"
replies: 17
views: 396
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/100938-write-utan-att-ersätta-befintlig-kod"
---

# write utan att ersätta befintlig kod.

## #1 — KalsongCesar, 2004-04-05T13:39Z

Om jag har en js fil som öppnar en fil för skrivning så ersätts all kod som står i den filen. Går det att öppna den och skriva dit HTML kod utan att den ersätter?

Har en frameslösning där jsfilen skriver en dynamisk meny, problemet är att jag inte kan få med ngn aspkod i den framen så en koll på om person är inloggad eller inte funkar inte.

har testat att skriva asp koden till framen men det funkar inte iom att det exekveras ju aldrig av servern.

Tacksam för svar.

Permalänk: https://www.webforum.nu/p/100938

## #2 — Peter S, 2004-04-05T13:59Z

Ja:

```
[i]objektreferens[/i].innerHTML = "[i]HTML-kod[/i]";
```

Exempel:

```
<script type="text/javascript">

function f() {
    document.getElementById("div").innerHTML = "<i>Text</i>";

    return false;
}

</script>

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

<a href="java&#115;cript:void(0)" onclick="return f()">Lägg till text</a>
```

 :)

Permalänk: https://www.webforum.nu/p/1317373

## #3 — KalsongCesar, 2004-04-05T14:11Z

ok.. får inte riktigt till det. Objetreferens, kan det vara en frame med namn eller måste det gå via id?

har

```
frame.document.innerHTML = "Text"
```

nu uten resultat

Permalänk: https://www.webforum.nu/p/1317380

## #4 — Peter S, 2004-04-05T14:56Z

Självklart kan du gå via ramar. Enklast använder du ett id och *document.getElementById()*, men det finns även andra lösningar.

```
var elm = document.createElement("i");
elm.innerHTML = "Kursiverad text";

window.frames["namn_på_ram"].document.getElementsByTagName("BODY")[0].appendChild(elm);
```

 :)

Permalänk: https://www.webforum.nu/p/1317399

## #5 — KalsongCesar, 2004-04-05T15:09Z

Så tacksam för hjälpen.. men jag gör precis som du skriver men får bara fel.

varför ska det inte bara gå med 
window.frames\["toc"\].document.innerHTML = "bla bla";
?
toc är mitt frame-namn

Permalänk: https://www.webforum.nu/p/1317404

## #6 — Peter S, 2004-04-05T15:15Z

Vad får du för felmeddelande? Var i dokumentet skall HTML-koden infogas?

 :)

Permalänk: https://www.webforum.nu/p/1317408

## #7 — KalsongCesar, 2004-04-05T15:19Z

har en frameslösning med säg top,main,toc
Toc är menyn till vänster. I framessidan har jag inkluderat en js fil som skriver hela menyn, problemet är att jag inte kan kolla om en sessionsvarabel är uppfylld eller inte då.
Därför tänkte jag att om jag skapar en asp sida med kontrollen och sedan låter js filen skriva till menyn till den sidan så skulle jag kunna kombinera det hela.

Hopps ni hänger med..

Permalänk: https://www.webforum.nu/p/1317412

## #8 — Peter S, 2004-04-05T15:25Z

Var i dokumentet i "toc"-ramen skall HTML-koden skrivas? T.ex.: Låt säga att "toc"-sidan ser ut så här:

```
<html>
<head></head>
<body>
<div id="meny"></div>
</body>
</html>
```

Då kan du skriva till \<div\>-elementet så här:

```
top.frames["toc"].document.getElementById("meny").innerHTML = "...";
```

 :)

Permalänk: https://www.webforum.nu/p/1317415

## #9 — KalsongCesar, 2004-04-05T15:30Z

testar... kan jag sätta id på vad som helst och sedan nå det via get element by id. 
toc kommer att vara typ

```
<html>
<head></head>
<body>
<Table>
<TR><TD>Detta finns innan</TD></TR>
<TR><TD id="change_this">**Ska skrivas in av jsfilen</TD></TR>
<TR><TD>Detta finns innan</TD></TR>
</body>
</html>
```

Permalänk: https://www.webforum.nu/p/1317420

## #10 — Peter S, 2004-04-05T15:30Z

Japp, i stort sett.

 :)

Permalänk: https://www.webforum.nu/p/1317421

## #11 — KalsongCesar, 2004-04-05T15:33Z

YES! Det funkar.. satte ID på tabellrutan.. 
tack så mycket för din hjälp!!!

NU ska här kodas.. =)

Permalänk: https://www.webforum.nu/p/1317423

## #12 — Peter S, 2004-04-05T15:36Z

Skoj!  :bire 

Använd gärna funktionen "Acceptera som slutgiltigt svar".

 :)

Permalänk: https://www.webforum.nu/p/1317425

## #13 — KalsongCesar, 2004-04-06T08:59Z

Problem igen.. med netscape..
Funkar hur bra som helst i IE... som vanligt,, men ngt i raden
top.frames\["toc"\].document.getElementById("change_this").innerHTML = "xxx" når inte fram i ne.

Försöker lita ut vad det kan vara.. kan det vara top.frames\["toc"\] som inte funkar??

Permalänk: https://www.webforum.nu/p/1317669

## #14 — KalsongCesar, 2004-04-06T10:02Z

får felet
document.getElementById is not a function. 
i netscape.. 4.5
ngn som vet ett alternativ?

Permalänk: https://www.webforum.nu/p/1317705

## #15 — Peter S, 2004-04-06T11:46Z

*document.getElementById()* stöds ej av NS4.x. Ett möjlig lösning kan vara att göra enligt följande (om jag använder ditt tidigare tabellexempel):

```
<script type="text/javascript">

function ns4() {
    if (typeof document.layers != "object") return;

    document.write("<i>Kursiverad text</i>");
    // O.s.v.
}

</script>

<html>
<head></head>
<body>
<Table>
<TR><TD>Detta finns innan</TD></TR>
<TR><TD id="change_this">[b]<script type="text/javascript">ns4()</script>[/b]</TD></TR>
<TR><TD>Detta finns innan</TD></TR>
</body>
</html>
```

 :)

Permalänk: https://www.webforum.nu/p/1317746

## #16 — KalsongCesar, 2004-04-06T11:48Z

ok, men då är jag väl tillbaka till ruta 1 med att den skriver över befintlig kod som finns i filen väl.

Permalänk: https://www.webforum.nu/p/1317749

## #17 — Peter S, 2004-04-06T12:17Z

Ovanstående kod skriver ej över den befintliga filen. Du kan även göra så här:

```
<script type="text/javascript">

function ns4() {
    if (typeof document.layers != "object") return;

    document.write("<ilayer id='change_this1'><layer width='100' height='100' id='change_this'></layer></ilayer>");
}

</script>

<html>
<head></head>
<body>
<Table>
<TR><TD>Detta finns innan</TD></TR>
<TR><TD id="change_this"><script type="text/javascript">ns4()</script></TD></TR>
<TR><TD>Detta finns innan</TD></TR>
</body>
</html>
```

Och sedan nå lagret med:

```
    var doc = top.frames["toc"].document.layers["change_this1"].document.layers["change_this"].document;

    doc.open();
    doc.write("<i>Kursiverad text</i>");
    // O.s.v.
    doc.close();
```

 :)

Permalänk: https://www.webforum.nu/p/1317768

## #18 — KalsongCesar, 2004-04-07T15:41Z

Tack för svaret, funkar nu i netscape och i explorer.. för PC men nu när jag kollar på MAC så funkar det inte.. jag bli galen på sånt här.. allt för att jag var tvungen att kolla om en liten sessionsvariabel fanns eller inte.. grrrrrr..

Permalänk: https://www.webforum.nu/p/1318325

---

Tråden på webben: https://www.webforum.nu/amne/javascript/100938-write-utan-att-ersätta-befintlig-kod
