/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Tekst linie
Fra : Denn!s H


Dato : 30-12-03 17:44

Dav

Jeg kalder en JavaScript funktion og sender en tekststreng med som
parameter.
Denne tekststreng vil jeg gerne have vist i en div (tekstfelt) på siden.

Hvad kan jeg skrive funktionen for at få en tekst i div feltet?

function skriv(tekst){...
tekstFelt.? = tekst
}

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

--
Denn!s



 
 
Lasse Reichstein Nie~ (30-12-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 30-12-03 20:17

"Denn!s H" <@> writes:

> Dav
>
> Jeg kalder en JavaScript funktion og sender en tekststreng med som
> parameter.
> Denne tekststreng vil jeg gerne have vist i en div (tekstfelt) på siden.

> Hvad kan jeg skrive funktionen for at få en tekst i div feltet?

Det afhænger af hvilke browsere det skal virke i. Der er ingen måde
at skrive til en div, der virker i alle browsere. Nogle browsere kan
slet ikke ændre indholdet af en side efter den er loadet. Andre kan
kun gøre det på underlige måder (her tænker jeg på Netscape 4)

Du kan tjekke FAQ'en for comp.lang.javascript:
<URL:http://jibbering.com/faq/#FAQ4_15>
Jeg er dog ganske utilfreds med den måde funktionen er skrevet på,
så her er min egen version til at skrive *tekst* i et div-element:

---
<script type="text/javascript">
function getElement(id) {
var elem;
if (document.getElementById) { // W3C DOM
return document.getElementById(id);
} else if (document.all) { // IE 4
return document.all[id];
} else if (document.layers) { // NS 4
return document.layers[id];
}
}

function dynWrite(id,text) {
var elem = getElement(id);
if (!elem) {return;} // element findes ikke.
if (document.TextNode && elem.appendChild) {
while (elem.hasChildNodes()) { // slet gammelt indhold
elem.removeChild(elem.lastChild);
}
elem.appendChild(document.createTextNode(text));
} else if (elem.innerHTML) { // ej-DOM, men innerHTML
elem.innerHTML = text;
} else if (elem.document != document) { // Netscape 4
elem.document.open();
elem.document.write("<div>"+text+"<\/div>");
elem.document.close();
}
}
</script>

<div id="foo" style="position:absolute;width:100%;">
tekstfelt
</div>
<form action=""><input type="button" onclick="dynWrite('foo','ny tekst');" value="KLIK MIG!"></form>
---

Hvis det er vigtigt at det virker i Netscape 4, så husk at sætte
style="position:absolute;width:100;" på div'en. Det gør den til et
"layer" i Netscape 4, som så kan tilgås gennem document.layers, og kan
have sit indhold skiftet. Nogen gange er position:absolute ikke det
man helst vil bruge, da div'en så ikke fylder noget på siden. Så
kan man bruge position:relative, men det ser ud til at Netscape 4
så placerer indholdet forkert.

Suk. Netscape 4 er noget gammelt lort der crasher for et godt ord.
Det er vist mest for fuldstændigheden at jeg har den med her.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Denn!s H (02-01-2004)
Kommentar
Fra : Denn!s H


Dato : 02-01-04 11:30


"Lasse Reichstein Nielsen" <lrn@hotpop.com> skrev i en meddelelse
news:7k0e3ykm.fsf@hotpop.com...
> "Denn!s H" <@> writes:
>
Hej Lasse

Rigtig mange tak for dit svar, det var lige hvad jeg havde brug for, og
rigtig godt link.
(Virkede efter 1½ minut i IE så nu skal de andre browsere lige tjekkes:)

--
Denn!s



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste