Von child-windows in textarea des parent-window schreiben

Dieses Thema im Forum "Web-Know-how für die Homepage" wurde erstellt von dragon_MF, 4. August 2005.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. dragon_MF

    dragon_MF Megabyte

    Registriert seit:
    17. August 2001
    Beiträge:
    1.109
    Hallo!

    Ich beiße mir die Zähne daran aus, dass ein geöffnetes Pop-Up-Fenster nach einem klick auf eine Grafik etwas in eine textarea des öffnenden Fesnsters schreibt.
    Wenn ich die klickbaren Grafiken in das selbe Fenster platziere wie die textarea

    <textarea name="body" rows="23" cols="35" wrap="virtual" style="width:450px" tabindex="3" class="post">bla</textarea>

    kann ich den Text mittels

    document.post.body.value += text;

    vom javascript senden lassen.
    Wenn ich nun aber einen link setze, der ein pop-up mit den grafiken öffnet, schien es mir richtig

    window.opener.document.forms.body.value += text;

    stattdessen zu verwenden, was mir aber ebensowenig brachte wie das gleiche mit "post" anstatt "forms".
    Wie greife ich korrekt darauf zu?
    Gruß

    Martin
     
  2. dragon_MF

    dragon_MF Megabyte

    Registriert seit:
    17. August 2001
    Beiträge:
    1.109
    Das Einfügen von smilies muss doch hier mittels des pop-Up windows sehr ähnlich gehen, wie mir mal auffällt. nur verweist das Pop-Up mit den smilies auf Opener.smilies(), nur im Quelltext dieser Seite, wo ich gerade schreibe, kann ich keine solche funkttion ausmachen o_0
     
  3. kalweit

    kalweit Hüter der Glaskugel

    Registriert seit:
    18. April 2000
    Beiträge:
    31.487
    Also erst mal solltest du alle Bezeichner durch nicht belegte ersetzten. Ein "body" gibt es bereits im Dokument... - ansonsten:

    Code:
    parent.document.formularname.elementname.value="was auch immer";
    
     
  4. dragon_MF

    dragon_MF Megabyte

    Registriert seit:
    17. August 2001
    Beiträge:
    1.109
    zugegeben ein ungüstiger Name, aber wenn ich es nicht aus einem pop-up mache, sondern von der Seite direkt, funktioniert folgendes ja:

    Code:
    function setzebild(text) {
    	text = ' ' + text + ' ';
    	if (document.post.body.createTextRange && document.post.body.caretPos) {
    		var caretPos = document.post.body.caretPos;
    		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
    		document.post.body.focus();
    	} else {
    	document.post.body.value  += text;
    	document.post.body.focus();
    	}
    }
    Aber überall vor document einfach parent oder opener davor schreiben bringt leider nichts, warum nicht?
     
  5. kalweit

    kalweit Hüter der Glaskugel

    Registriert seit:
    18. April 2000
    Beiträge:
    31.487
    Dann poste doch mal einen Link - so wird das mit meiner Glaskugel nichts. Was sagt die JavaScript Konsole vom Mozilla? Sind vielleicht Frames im Spiel?...
     
  6. dragon_MF

    dragon_MF Megabyte

    Registriert seit:
    17. August 2001
    Beiträge:
    1.109
  7. kalweit

    kalweit Hüter der Glaskugel

    Registriert seit:
    18. April 2000
    Beiträge:
    31.487
    opener.document.post.body...
     
  8. dragon_MF

    dragon_MF Megabyte

    Registriert seit:
    17. August 2001
    Beiträge:
    1.109
    ich vergaß: der link auf [mehr] öffnet das test-Pop-Up.
    In diesem habe ich nun für den ersten der beiden:

    Code:
    function add_text(der_text){
    opener.document.post.body.value += text;
    }
    
    Geht aber leider trotzdem nicht...?
     
  9. kalweit

    kalweit Hüter der Glaskugel

    Registriert seit:
    18. April 2000
    Beiträge:
    31.487
    Also wenn ich auf den "add_text"-Smilie klicke, wird nur ein nicht vorhandenes "text" bemängelt (denn du verlangst im Funktionsaufruf nach "der_text"). Auf Grund der Fehlermeldung an der Stelle, sollte das opener... gefressen sein - sprich ist vorhanden und wird richtig angesprochen.
     
  10. dragon_MF

    dragon_MF Megabyte

    Registriert seit:
    17. August 2001
    Beiträge:
    1.109
    weired, bei mir passiert da nichts..

    edit: Verdammt, jetzt geht's! hab den cache komplett gelöscht (aber sonst extra immer mit Strg+F5 neu geladen, warum das nicht reicht, bleibt mir ein Rätsel)

    edit2: hab's spaßenshalber jetzt auch mit "der_text", er fügt es auch ein, wie bereits erwartet nach dem Fehler.
    Ich danke dir vielmals.
    Gruß

    Martin
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen