Fragen zu innerHTML

Benzol

Erfahrenes Mitglied
Moin,
ich hätte mal eine Frage... ein user hatte in einem Thread, wo es um den Designmode ging, geschrieben

Um den Inhalt des iFrames per Formular zu senden, musst du in das Elterndokument bspw. ein verstecktes Formularfeld einbinden, dem du vor dem Senden als value den Inhalt(innerHTML) des iFrame -Dokumentes zuweist.

Das hört sich ja noch halbwegs einfach an. In der Praxis schaffe ich es einfach nicht, das hidden den Wert von dem dem iframe annimmt. Ich habe leider nicht genug Kentnisse über JavaScript, als das ich meinen Fehler entecken könnte. Vieleicht könnte mir das einer erklären bzw einen Link dazu geben. Hier mal teile meines Codes:

Code:
function transfer()
{	   

	var html =  document.getElementById("edit").body.innerHTML;
	document.getElementById("html").value=html;
	
}

Code:
<form name="edit" action="" method="post" onSubmit="return transfer();">

<input type="submit" value="Absenden" >
<input type="hidden" name="html" value="">

</form>

Würde mich über hilfe sehr freuen :)
 
Zuletzt bearbeitet:
Sry, habs schon wieder geändert. Das war was, was ich von mozilla.org kopiert hatte. Hab vergessen das wieder wegzumachen :) Habe das nochmal korrigiert. Bekomm bei meiner Variante den Fehler
document.getElementById(...).body.innerHTML' ist Null oder kein Objekt
 
Du greifst auf dein Formular und auf dein Hidden feld per Id zu.....

var html = document.getElementById("edit").body.innerHTML;
document.getElementById("html").value=html;

Hast aber im Quelltext keine Id´s vergeben, sondern nur namen...

<form name="edit" action="" method="post" onSubmit="return transfer();">

<input type="hidden" name="html" value="">
 
Gut, das wäre schonmal ein Fehler den ich übersehen habe. Mein iframe hat aber eine ID und genau an der Stelle meckert er noch.
Das iframe sieht folgendermaßen aus:
Code:
<iframe id="edit" width="400px" height="200px"></iframe>
 
Code:
html = document.getElementById("edit").contentWindow.document.body.innerHTML
... das iFrame-HTML-Element hat keinen Body, sondern das Dokument im iFrame-Window-Objekt
 
Danke Sven, der Fehler ist jetzt verschwunden. Ich denke, ich kann das auch halbwegs nachvollziehen. Er scheint aber in das Value-Feld nicht den Inhalt des iframes einzutragen. Geht das nicht so banal, wie ich das geschrieben habe?

Nachtrag: Es hat mitlerweile sogar eine id :)

nachtrag2: Kann es sein, das man keine Formulardaten mehr ändern, sobald auf Submit ausgelöst wurde? Ich aktualisiere ja das Hiddenfeld erst onSubmit. Könnte das der Fehler sein?

nachtrag3: Genau das war der Fehler. Jetzt funktinoiert es. Ich danke für die Hilfe :-)
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück