• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

auf Elemente einer neuen html Seite zugreifen

StechusKaktus

New member
Hallo,

ich möchte gerne auf Elemente eines neuen HTML Fensters zugreifen, komme aber irgendwie nicht weiter.

Um das neue Fenster zu öffnen habe ich folgenden Code.
Code:
var winURL = 'testfenster.html';
var winName = 'win1';
var winSize = 'width=660,height=620,scrollbars=yes';
var ref = window.open( winURL, winName, winSize );

Nun möchte ich auf Elemente des neuen Fensters zugreifen, bzw. dieses auch dynamisch bearbeiten können.

Normalerweise kann ich ja mit
document.getElementById( 'aksdfjkajsd' )
im "Hauptdokument" darauf zugreifen.
Nun habe ich probiert, dass eventuell mit der oben erhaltenen Referenz zu tun, aber irgendwie klappt das nicht.
Ich weiss leider nicht, wo bei mir der Fehler liegt, oder was ich falsch mache.

Habt ihr evtl. Lösungsvorschläge für mich?

Vielen Dank für eure Hilfe.
 
Nun möchte ich auf Elemente des neuen Fensters zugreifen, bzw. dieses auch dynamisch bearbeiten können.
Normalerweise kann ich ja mit
document.getElementById( 'aksdfjkajsd' )
im "Hauptdokument" darauf zugreifen.
Nun habe ich probiert, dass eventuell mit der oben erhaltenen Referenz zu tun, aber irgendwie klappt das nicht.
Du musst auf das neue Fenster zugreifen: ref.document.getElementById( 'aksdfjkajsd' )
PS: die Fehlerkonsole hilft dir beim Fehlersuchen.
 
Genau das habe ich probiert. Es funktioniert irgendwie nicht, bzw. weiss ich nicht, wonach ich suchen muss.

Hier ist mal der Code vom "neuen" Fenster:
HTML:
<!DOCTYPE html>
<html>
<head>
	<title>Test fenster</title>
</head>

<body>
	<h1 id="dokueberschrift">Token:</h1>
	<p id="doktextzeile">test</p>
	
	<div id="token_container">
		<textarea id="ttest111" name="content" style="width:280px; height:140px; overflow:auto; resize:none;"></textarea>
	</div>
	<div>
		<button type="button"
		onclick="document.getElementById('ttest111').innerHTML = Date()">Click me to display Date and Time.</button>
	</div>
</body>
</html>


Diese Fenster öffne ich mit dem folgenden Code:

Code:
var winURL = 'testfenster.html';
var winName = 'win1';
var winSize = 'width=660,height=620,scrollbars=yes';
var ref = window.open( winURL, winName, winSize );

Danach mache ich folgendes:

Code:
ref.document.getElementById( 'ttest111' ).value	= 'rein damit';

Nun bekomme ich eine Fehlermeldung: TypeError: ref.document.getElementById(...) is null
Im "neuen" Fenster selbst kann ich wiederum auf das Element zugreifen, wie ihr mit dem Button erkennen könnt.

Hier weiss ich leider nicht weiter, wie ich dann von meiner index.html das neue Fenster dynamisch bearbeiten kann... :(

Viele Grüße
 
Nun bekomme ich eine Fehlermeldung: TypeError: ref.document.getElementById(...) is null

dein Problem ist, das du nicht zeitgleich auf das Element in dem Pop-Up zugreifen kannst, wie du dieses öffnest, da das Element zu diesem Zeitpunkt noch nicht bekannt ist, weil es eine Weile dauert, bis das Fenster auf geht.

So sollte es funktionieren:

Code:
<script>
var refwin = window.open("testfenster.html", "win1", "width=660,height=620,scrollbars=yes");
refwin.onload = function() {
refwin.document.getElementById("ttest111").value = 'Testtext';
};
</script>

Allerdings würde ich dein Textarea ohne das name="content" angeben:

HTML:
<textarea id="ttest111" style="width:280px; height:140px; overflow:auto; resize:none;"></textarea>
 
Zuletzt bearbeitet:
Zurück
Oben