Inhalt textarea dynamisch generieren

hi leutz’,

das folgende script funktioniert offline wenigstens für textholen() per onClick="…" in textarea.
online klappt’s nich’ mehr:
>
bis zum zweitfenster „windo“ mit dessen inhalt anzeigen geht’s noch, … bei obiger zeile hängt’s dann …
hab’ die rechte (wg hin- und herschreiben) auf 755, sogar 777 versucht.
(um das AbGehts() bei onUnload geht’s jetzt nich’, … glaub’ nur das fette )

fluxus.shtml:
in’s textfeld klicken zeigt den letzten besuchereintrag an

was man 'reinschreibt, bleibt stehen bis es überschrieben wird.
onClick=„this.form.tanam.value=textholen();“>
<!–
function AbGehts() {
document.forms[0].submit(); }
<B>function textholen() {
windo = window.open(„fluxdat.html“, „w“, „left=20“);
windo.focus();
text = windo.document.all.p.innerText;
windo.close();
return text; } </B>//–>

fluxdat.html: (im selben ordner nebendran)

id=„p“> inhalt von fluxdat.html

hat jemand 'ne ahnung, woran’s liegt?
danke!
mfg
RoNeunzig

das folgende script funktioniert offline wenigstens für
textholen() per onClick="…" in textarea.
online klappt’s nich’ mehr:
>
bis zum zweitfenster „windo“ mit dessen inhalt anzeigen geht’s
noch, … bei obiger zeile hängt’s dann …

Vermutlich ist fluxdat.html noch nicht vollständig geladen. D.h. der Elementbaum ist noch nicht vollständig und das gesuchte Objekt nicht definiert. Die zuverlässigste Methode ist, in einer Funktion das Fenster zu öffnen und in einer anderen den Text entgegenzunehmen, den das Popup sendet:

...
function textholen()
{
 window.open("fluxdat.html?gibsmir", "w", "left=20");
}
function textkriegen(txt)
{
 document.getElementsByName('tanam')[0].innerText = txt;
}

fluxdat.html:

function textsenden()
{
 if (window.location.search.match(/\bgibsmir\b/))
 window.opener.document.textkriegen(document.all.p.innerText);
}
...

Der Aufruf im onLoad-Handler sorgt dafür, dass erst versucht wird zu senden, wenn die Seite komplett geladen und der Elementbaum vollständig ist.

muß warten, bis fenster ganz gelanden is’
ja, danke!
… genau das war5 das Problem. Es ist dann noch gar nix da zum einlesen, wenn das Fenster noch nich’ vollständig geladen is’.
hab’s nach einigem ‚betteln‘ (naja erkennt nich’ jeder sofort das Problem) auf jswelt gesagt gekriegt.
Gelöst hab’ ich’s dann selber mit einer Art Warteschleife, die den programflow erst weitergibt, wenn der Fensterinhalt gelesen werden kann:
while (windo.document.all.tags(„p“)[0].id !=„peh“) { }
erst dann kann „text“ ausgelesen werden.
text = windo.document.all.peh.innerText;

is’ bissel umständlich, aber homemade und funkst ;O]

Dein’ code hab’ ich mir ge-c-&-p und werd’ drasuf zurückgreifen, wenn ich mich mal wieder mit hp beschäftige.
(is’ sicher ‚ne Verbesserung - geh‘ ich von aus)