Ich glaube dein Problem zu kennen, normalerweise schreibt der Browser den Text/Code dahin von wo aus die Funktion aufgerufen wurde.
Wenn dies aber nicht geht, wird eine ganz neue Seite benutzt um diese vollzuschreiben (oder der Rest wird gelöscht). Indem du dir mal den Quelltext anschaust, kannst du überprüfen ob dies bei dir der Fall ist.
Zu lösen wäre es evtl. indem du die Funktion, die dein neues Textfeld schreibt an die Stelle setzt wo das Textfeld hinsoll, aber in Wartestellung - wobei sie auf eine Variable oder ein handleEvent wartet. Mit letzterem kenne ich mich aber nicht so gut aus und weiß nicht ob es funzt, ersteres ist schmarn weil du die Variable dann ständig überprüfen müsstest, was schlechter Code ist und zu abstürzen führen könnte (Endlosschleife).
(Gibt es in JS eigentlich Semaphoren??)
Sinnvoller wäre es wohl gleich mit InlineFrames zu arbeiten, da fällt das Problem dann weg.
Gruß
Philip