Text ausgeben

Hallo!

Ich möchte gerne eine Variable aus einem JavaScript, das sich in einer externen Datei befindet an einer bestimmten Stelle als Text in meinem HTML-Dokument ausgeben. Geht das? Und falls ja, wie mache ich das am besten? Momentan gebe ich die Variable in einer Textarea aus, aber ich fände normalen Text schöner.

Vielen Dank schon mal für eure Hilfe.

Grüße, Tanja

Hi,

dafür gibt es die document.write()-Methode.
Du kannst sie (auch) explizit an einer bestimmten Stelle verwenden, z.B.:

.
.
.


 document.write( meineVariable );

.
.
.

Ganz einfach.
Schau auch mal bei SelfHTML nach, da ist es schön beschrieben.

Ciao, Bill

Hallo Bill!

Danke für Deine Antwort!

dafür gibt es die document.write()-Methode.
Du kannst sie (auch) explizit an einer bestimmten Stelle
verwenden

Das habe ich bereits versucht, aber es funktioniert nicht richtig. Ich habe das Script mit dem document.write() dort eingefügt, wo der Text erscheinen soll, aber wenn es aufgerufen wird, bekomme ich nur eine leere weiße Seite, die die Variable enthält (getestet mit Mozilla 1.0, Opera 6.0 und IE 5.5). Stattdessen soll aber die aktuelle HTML-Seite bestehen bleiben und nur der Text eingefügt und ggf. ausgetauscht werden.

Ich habe mal eine abgespeckte Version zum Anschauen online gestellt:
http://www.obloid.de/test/test.html
http://www.obloid.de/test/js/test.js

Schau auch mal bei SelfHTML nach, da ist es schön beschrieben.

Die Beispiele in SelfHTML habe ich mir auch schon angesehen, aber ich habe keines gefunden, bei denen in einem bereits geladenen HTML-Dokument ein Text durch document.write() verändert wird.

Grüße, Tanja

function setText()
 {
 text = document.forms[0].elements[0].value;

 if (document.layers)
 { 
 with (document.layers['bar'].document)
 { open(); write(text); close(); }
 }
 else if (document.getElementById)
 { document.getElementById('bar').innerHTML = text; }
 else if (document.all)
 { document.all['bar'].innerHTML = text; }
 }

fuer opera ist es etwas aufwaendiger…

Hallo!

Danke für das Skript, genau so etwas habe ich gesucht! :smile:

Die Stelle, an der der Text ausgegeben werden soll, ist bei mir bereits von einem anderen div-Tag umschlossen. Deshalb kann man ihn nicht sehen. Er wird nur angezeigt, wenn ich die Bar außerhalb positioniere. Gibt es nicht irgendwie die Möglichkeit, das andere div-Tag zu überlagen, so daß der Text trotzdem angezeigt wird?

fuer opera ist es etwas aufwaendiger…

Was müßte man da noch machen? Ansonsten werde ich jetzt erst mal obiges Skript verwenden, es funktioniert ohne Probleme mit Mozilla 1.0, IE 5.5 und auch mit NC 4.6.

Grüße, Tanja

Gibt es nicht irgendwie die
Möglichkeit, das andere div-Tag zu überlagen, so daß der Text
trotzdem angezeigt wird?

öhm, 'tschuldigung das hab ich nciht verstanden…

fuer opera ist es etwas aufwaendiger…

Was müßte man da noch machen?

hoechst komplexe verknotungen mittels diverser ultramegaanspruchsvoller methoden des DOM.

es funktioniert ohne Probleme mit
Mozilla 1.0, IE 5.5 und auch mit NC 4.6.

das soll so sein :wink:

Hallo!

Gibt es nicht irgendwie die
Möglichkeit, das andere div-Tag zu überlagen, so daß der Text
trotzdem angezeigt wird?

öhm, 'tschuldigung das hab ich nciht verstanden…

Sorry, hab ich blöd erklärt. Also, in meiner HTML-Seite gibt es eine Tabelle, die mittels div-Tag an einer bestimmten Stelle positioniert ist:

 Hier soll der Text aus der Variablen stehen!

Wenn ich jetzt die Bar folgendermaßen festlege, wird der Text angezeigt:

, aber nicht, wenn ich >= 100px verwende, denn dann überschneidet sich die Bar mit dem anderen div-Tag von der Tabelle.

fuer opera ist es etwas aufwaendiger…

Was müßte man da noch machen?

hoechst komplexe verknotungen mittels diverser
ultramegaanspruchsvoller methoden des DOM.

Ok, dann lassen wir das mal lieber… :wink:

Grüße, Tanja

Wenn ich jetzt die Bar folgendermaßen festlege, wird der Text
angezeigt:

aber nicht, wenn ich >= 100px verwende, denn dann
überschneidet sich die Bar mit dem anderen div-Tag von der Tabelle.

na entweder deklarierst du das div mit der tabelle vor der mit dem text, oder du setzt nen zIndex. das ist aber html.

ps: zum thema der/die/das bar http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?query=bar

Hallo!

na entweder deklarierst du das div mit der tabelle vor der mit
dem text

Super, genau das war die Lösung. Manchmal kommt man auf die einfachsten Sachen nicht…

oder du setzt nen zIndex. das ist aber html.

Das habe ich auch ausprobiert, aber es hat nicht geklappt.

ps: zum thema der/die/das bar
http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?query=bar

-) „foo“ ist mir schon ein Begriff, aber ich wußte gar nicht, daß „bar“ auch so was ist. Ich hatte angenommen, es wäre einfach ein englischer Ausdruck für Menüleiste.

Grüße, Tanja