Javascript und form
stefan_h
- javascript
Hi,
ich verschicke ein Formular mit Javascript:
Formular sieht so aus:
<form action="/search97cgi/s97_cgi" method=POST name="SelectForm">
<input type="hidden" name="ResultCount" value=$$ResultCount>
<input type="hidden" name="ResultCount_Trefferliste" value=$$ResultCount_Trefferliste>
usw.
</form>
Javascript:
function los_screen()
{
document.SelectForm.target="_self";
document.SelectForm.markiert.value="ja";
document.SelectForm.version.value="";
document.SelectForm.submit()
}
Soweit so gut.
Jetzt will ich das Formular aber noch an eine andere Adresse übergeben.
function los_txt()
{
document.SelectForm.action="http://www.blabla"
document.SelectForm.method="GET";
document.SelectForm.target="_self";
document.SelectForm.version.value="";
document.SelectForm.submit()
}
Funktioniert mit allen Browsern ausser natürlich dem IE. Scheint mir so als würde ihn zweimal action stören. Die Form könnte ich ja einfach kopieren und anders benennen, aber die is viel zu groß dafür das möchte ich nicht. Hab mal versucht die Forms zu verschachteln. Ging aber leider auch nicht. Gibt es da eine Lösung?
Gruß Stefan
hi,
document.SelectForm.target="_self";
document.SelectForm.submit()
so, jetzt ist das aktuelle dokument weg, weil das formular abgeschickt wurde.
Jetzt will ich das Formular aber noch an eine andere Adresse übergeben.
wo denn?
function los_txt()
{ [...]
document.SelectForm.action="http://www.blabla"
document.SelectForm.submit()
die stelle, wo du diese funktion definiert und aufgerufen hast, ist bereits verschwunden, wenn sie im selben dokument stand, wie das formular. und das formular, auf welches sie zugreifen möchte, übrigens auch.
Funktioniert mit allen Browsern
verwunderlich, da theoretisch eigentlich schon unmöglich.
ausser natürlich dem IE. Scheint mir so als würde ihn zweimal action stören.
nein, ihn stört, dass das ganze konzept murks ist.
das es in den "anderen browsern klappt", kann allerhöchstens glück sein - vermutlich zeitlich begründet, da das formular noch erhalten ist, solange bis die serverantwort eintrifft.
Hab mal versucht die Forms zu verschachteln. Ging aber leider auch nicht.
natürlich nicht.
Gibt es da eine Lösung?
ja. schicke die daten an _eine_ adresse, und verarbeite sie von dort aus wie gewünscht weiter.
gruß,
wahsaga
ja. schicke die daten an _eine_ adresse, und verarbeite sie von dort aus wie gewünscht weiter.
Das versuche ich ja mit meinen Javascript. Es muss doch möglich sein ein Formular an zwei verschiedene URL's zu übergeben. Natürlich ist das Formular weg, wenn ich es einmal abgeschickt habe. Ich sollte vielleicht noch erwähnen, dass ich es natürlich nicht gleichzeitig an 2 verschiedene URL's schicken will. Das Formular soll entweder an die eine oder an die andere Adresse geschickt werden. Ich habe ja auch 2 Links. Einmal eben <a href="function los_txt()">Link1</a>
und dann <a href="function los_screen()">Link2</a>. Nur die action ist eben unterschiedlich.
@Felix
Danke für Deinen Tipp, aber ein zweites Fenster kann ich nicht aufmachen.
Gruß
Stefan
hi,
ja. schicke die daten an _eine_ adresse, und verarbeite sie von dort aus wie gewünscht weiter.
Das versuche ich ja mit meinen Javascript.
nein, tust du nicht.
Es muss doch möglich sein ein Formular an zwei verschiedene URL's zu übergeben.
auf diese frage wirst du im archiv sehr häufig die antwort finden, dass du die daten an _eine_ serverseitige adresse schicken solltest, und _dort_ dann entscheidest, was weiter mit ihnen passieren soll.
gruß,
wahsaga
Hi Stefan,
ich habe da etwas ähnliches für mich gemacht. Ich öffne einfach ein weiteres Fenster (weil es für _mich_ ist, ist das ok ;-), ansonsten PopUp-Blocker! ), dem ich einen eindeutigen Namen gebe (der zweite Parameter bei window.open()), und den ich im Script auswerte. Läuft das Script in einem Fenster mit eben diesem Namen, verhält es sich anders und schickt die Daten (die es aus der Adresszeile, also dem Search-String herbekommt) an das entsprechende Ziel. Dazu habe ich als "action" natürlich das Script selbst angegeben!
Übrigens, ein drittes Fenster tut etwas ähnliches, aber es hat dazu gleich eine "spezielle" Adresse im Internet (auch wieder mit ?param1=wert1¶m2=wert2...), die als Gegenseite dann die "Daten", will sagen Parameter, auswertet.
Vielleicht helfen Dir meine Ideen etwas weiter...
Liebe Grüße aus Ellwangen,
Felix Riesterer.