cssler: Formular: Action ändern

Hallo

ich habe ein normales Formular. Über ein Select-Feld wähle ich zuerst die Action-URL aus, sprich der Ort wohin das Formular versendet werden soll. Dies mache ich mit onChange="this.form.action=this.value".
Dies funktioniert im Firefox perfekt. Nur der IE möchte dies so nicht akzeptieren und ausführen.
Den Grund dafür habe ich bereits gefunden:

Mein Code:
---------------------
<form name="orderform" method="post" id="orderform" action="" target="_blank"  onSubmit="return chkFormular()">
<input type="hidden" name="action"  value="pay_safer">
....
<select id="Zahlungsart" name="Zahlungsart" class="frm_input" onChange="form.action=this.value">
<option value="keine" selected>-- Bitte wählen --</option>
 <option value="URL3">Über Postkonto</option>
<option value="URL2">Über Bankkonto</option></select>
------------

Der Grund für den IE-Fehler ist, dass ich zusätzlich ein Hidden Feld mit dem Namen "action" habe. Diese Feld muss aber zweingend so heissen und so aussehen wie jetzt. Ich brauche den Wert danach genau so zur Weiterverarbeitung.
Warum lässt sich der IE vom Hidden Feld beeinflussen? Name und Tag-typ sind ja nicht die selben bei beiden?

Kann mir jemand helfen?

gruss und Dank

  1. Hallo cssler!

    Kann mir jemand helfen?

    Eventuell.

    Versuche die Action so u ändern:

    document.getElementById("orderform").action = ...

    Da die ID eindeutig, die action aber nicht ist, könnte es klappen.

    Schönen Gruß

    Afra

    1. Hallo

      Danke für die Hilfe, geht nicht, sowohl via getelementbyID, getelementsbyName, getelementsbyTag, alles schon versucht, ohne erfolg.....

      1. Danke für die Hilfe, geht nicht, sowohl via getelementbyID, getelementsbyName, getelementsbyTag, alles schon versucht, ohne erfolg.....

        kein Wunder, keiner dieser Funktionen existiert (sofern du sie nicht irgendwo definiert hast)

        Struppi.

        --
        Javascript ist toll (Perl auch!)
      2. Hallo!»» Hallo

        Danke für die Hilfe, geht nicht, sowohl via getelementbyID, getelementsbyName, getelementsbyTag, alles schon versucht, ohne erfolg.....

        Hast Du es wie ich es genannt habe, oder so, wie Du es benamt hast, getan? Beachte bitte dazu Struppis Bemerkung.

        Schönen Gruß

        Afra

  2. Der Grund für den IE-Fehler ist, dass ich zusätzlich ein Hidden Feld mit dem Namen "action" habe. Diese Feld muss aber zweingend so heissen und so aussehen wie jetzt. Ich brauche den Wert danach genau so zur Weiterverarbeitung.

    Dann musst du es anders benennen.
    Wenn du ein Element mit dem Namen 'action' hast kollidiert es mit der Eigenschaft action

    Warum lässt sich der IE vom Hidden Feld beeinflussen? Name und Tag-typ sind ja nicht die selben bei beiden?

    Sind sie aber beide im selben Objekt und es gibt keinen Unterschied zwischen:

    document.forms[0].action = 'string';
    document.forms[0].action = [Object];

    Struppi.

    --
    Javascript ist toll (Perl auch!)