Form-Post in neuem Fenster öffnen

DataFox

Erfahrenes Mitglied
Hi Leute

Folgendes Problemchen:
Ich habe da ein Formular, das sowohl ganz normal im selben Fenster ausgeführt werden soll, als auch in einem neuen Fenster. Sprich: Wenn man Auf Button "A" klickt, wird das Ergebnis im aktuellen Fenster präsentiert und parameter=gleichesFenster übergeben. Klickt der Benutzer aber auf Button "B", soll das im action-Attribut angegebene Ziel des Formulars in einem neuen Fenster geöffnet werden.

Wie kann man ein Formular beim Abschicken das Ziel in einem neuen Popup-Fenster öffnen lassen?

So stell ich es mir grad vor:
Man hat eine Funktion die das Formular bei onClick abschickt. Wird ein Parameter popup=true übergeben, wird erst ein Popup geöffnet, dann das Formular irgendwie modifiziert damit das Ziel in dieses Fenster geht, und dann wirds abgeschickt. Wahrscheinlich viel zu umständlich?

Edit: Habe da mal was gebastelt:

Code:
function submitToNewWindow(formName) {
	var windowName = 'newWindow';
	var w = window.open('about:blank',windowName,'location=no,menubar=yes,toolbar=no,status=yes,resizeable=yes,900,700');
		formName.target = windowName;
document.forms[formName].submit();
		return true;
}

Der Firefox öffnet ein neues Fenster wenn ich das Formular abschicke, aber das Formular selbst wird immer noch im gleichen Fenster "ausgeführt"...

Gruß
Laura
 
Zuletzt bearbeitet:
Nur damit ich dich richtig verstehe:
FensterA sei das Hauptfenster. FensterB sei das Fenster, das sich öffnet. In FensterA werden die eingaben gemacht. Dann wird entweder ButtonA gedrückt (der Fall ist trivial) oder ButtonB gedrückt und das Formular soll quasi mit allen in FensterA gemachten eingaben in FensterB abgeschickt und verarbeitet werden. Soweit richtig?

Mir würde da jetzt nur einfallen, per cloneNode() das ganze Formular zu klonen, in FensterB zu verfrachten und dann per submit() es dort abzuschicken.
Javascript:
function submitToNewWindow(formName) {
    var windowName = 'newWindow';
    var w = window.open('',windowName,'location=no,menubar=yes,toolbar=no,status=yes,resizeable=yes,900,700');
        clone = formName.cloneNode(true);
        windowName.document.body.appendChild(clone);
        return true;
}
 
Zuletzt bearbeitet:
Hi

Ich habe das nun so gelöst:

Code:
function formularInNeuemFenster(nameDesFormulars) {
var fenster = "newWindow" + Math.floor(Math.random() * 99999999);
window.open('about:blank',fenster,resizeable=yes,900,700');
document.forms[nameDesFormulars].target = fenster;
document.forms[nameDesFormulars].submit();
return true;
}

Gruß
Laura
 

Neue Beiträge

Zurück