document.daten.submit() in ein neues Fenster
Matze
- javascript
Hallo NG,
ich übergeben Input-Werte generell mit document.daten.submit().
Dies funktioniert super und man hat bei komplexen Formularen eine echte Kontrolle.
z.B. so:
function save(vsatz)
{
document.daten.target="Hseite";
document.daten.action="xyz.jsp";
document.daten.submit();
}
Nun muss ich das ganze mit einem neuen Fenster realsieren. Das Fenster öffnen ist problemlos, nur bin ich wohl zu doof den submit in das neue Fenster zu schieben. Derzeit so, was leider nicht funktioniert:
function erfassung(url)
{ document.eingabe.action=window.open(url,"","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,WIDTH=600,HEIGHT=500");
window.eingabe.submit();
}
Weiss jemand wie ich den submit() ansprechen muss ?
Tip wäre klasse und mein Dank gewiss :-).
Grüsse
Matze
Hi,
warum so umständlich?
("http://suchanfragean.de/cgi-bin/anfrage.cgi?blabla=123456","","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,WIDTH=600,HEIGHT=500");
Sprich, mach doch beim Submit eine Übermittlug per Get und erzeuge darauf gleich eine URL.
Ich hoffe doch das bringt Dich weiter.
Grus Matze
Hi Matze,
leider habe ich einen TomCat-Servlet-Server. Da gibt es kein cgi-bin und get-Methoden nur bedingt. Ausserdem ist ?blabla=12345 nicht unbedingt eine schöne Methode.
Es muss doch möglich sein, dass Fenster anzusprechen ?
Trotzdem vielen Dank.
Grüsse
Matze
Servus,
wenn Du kit Sevlets arbeitest, wirst Du wohl nur mit Post oder Get derartige Formuöare versenden können.
Oder gibt es seit neustem eine mir unbekannte Methode?
Natürlich kannst Du diesen URL String an Deine Bedürfnisse anpassen.
Du musst ja auch nicht zwangsläufig irgendetwas übetragen....
Also das war auf jeden Fall meine Idee und was anderes dazu fällt mir nicht ein.
Gruss Matze
Hi,
Nun muss ich das ganze mit einem neuen Fenster realsieren. Das Fenster öffnen ist problemlos, nur bin ich wohl zu doof den submit in das neue Fenster zu schieben. Derzeit so, was leider nicht funktioniert:
function erfassung(url)
{ document.eingabe.action=window.open(url,"","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,WIDTH=600,HEIGHT=500");
Wieso meinst Du, daß das Ergebnis des Aufrufs von window.open (also die Fensterreferenz) ein geeigneter Wert für das action-Attribut ist?
window.eingabe.submit();
Warum meinst Du jetzt auf einmal, daß eingabe nicht mehr im Dokument, sondern im Fenster angesiedelt ist?
}
Beim Öffnen des Popups einen Namen angeben und als URL about:blank.
Diesen Fensternamen (nicht die Referenz) als target für die Form setzen.
Etwas warten (1s sollte normalerweise ausreichen - das Fenster muß erst geöffnet sein - vielleicht gibt es da auch ne Methode, zu überprüfen, ob das Fenster tatsächlich schon existiert).
Dann das Formular per submit abschicken.
cu,
Andreas
Hallo Andreas,
erstmal danke. So ungefähr hatte ich es mir auch vorgestellt. Allerdings about:blank ist aus Sicherheitsgründen auf TomCat verboten.
Ich verstehe auch nicht ganz, weshalb ich keine existierende Datei in dem Fenster öffnen darf ? Ausserdem benötige ich eine ganze Reihe von SQL-Kommandos die eigentlich in dem neuen Fenster abgearbeitet werden sollen.
Momentan sieht das ganze so aus:
document.daten.target="suche";
fenster= open("", "suche", "width=300,height=300");
setTimeout("document.daten.submit(),1500");
Über write in das neue Fenster schreiben ist zwar eine Lösung. Bin mir aber gar nicht sicher, ob JSP-Code damit zu erzeuge ist.
Grüsse
Matze
Nachtrag:
Wenn ich es so definiere bekomme ich zwar keinen Fehler mehr:
document.eingabe.target="suche";
fenster= open(url, "suche", "width=300,height=300");
setTimeout("document.eingabe.submit(),1500");
Nur wird wohl das document bei document.eingabe.submit noch der Haken sein ?
Grüsse Matze
Hi,
Nachtrag:
Wenn ich es so definiere bekomme ich zwar keinen Fehler mehr:
document.eingabe.target="suche";
fenster= open(url, "suche", "width=300,height=300");
setTimeout("document.eingabe.submit(),1500");Nur wird wohl das document bei document.eingabe.submit noch der Haken sein ?
Guck Dir die Parameter von setTimeout nochmal an.
cu,
Andreas
Guten morgen Andreas,
ups, ja setTimeout("document.eingabe.submit()",1500); wäre besser :-).
Aber hilft leider nicht weiter. Ich bekomme immer noch keine Daten. Ich habe es mit alles mögliche und unmögliche ausprobiert.
Es kann doch nicht sein, dass das in der Form nicht realisierbar ist ?
Grüsse
Matze
Für alle die es auch interessiert, so gehts:
document.eingabe.target="POPUP"
document.eingabe.action=url;
f1=window.open("","POPUP","width=300,height=300")
document.eingabe.submit();
Grüsse und schönes WE wünscht Matze
Hi,
erstmal danke. So ungefähr hatte ich es mir auch vorgestellt. Allerdings about:blank ist aus Sicherheitsgründen auf TomCat verboten.
Was hat Tomcat damit zu tun? about:blank wird im Browser erledigt.
cu,
Andreas