Der Martin: <form> action per JS. ändern? - IE

Beitrag lesen

Hallo,

Ich mir JS zusammengebaut

ich beeindruckt. ;-)

das mir per Mouseklick (oder per anderen Events) das action="" attribut einer Form dyn. ändern soll, da ich für eine Form 3 (oder mehrere) unterschiedliche actions sprich Scripte habe (PHP/Zend).

Der übliche Weg wäre, drei verschiedene Submit-Buttons zu benutzen und im serverseitigen Script den benutzten Button abzufragen und abhängig davon auf verschiedene Routinen zu verzweigen. Das Ändern des action-Attributs mit Javascript hat für mich immer so den Beigeschmack einer Krücke.

Die Form ist ziemlich fett ...

"form" ist das englische Äquivalent für "Formular". Also "die Formular"? Passt irgendwie nicht ...

"Objekt unterstützt diese Eigenschaft oder Methode nicht"
(wie) lässt sich das beheben? <form> action dynamich verändern, kann ich das für IE gänzlich vergessen?

Wie sieht das zugrundeliegende HTML aus?

function senden(id)  {
act = document.forms[0].faction.value;

Und es gibt ein Element mit dem Namen "faction" im Formular?

act += pageid;
document.forms[0].target = "_self";

Das dürfte überflüssig sein, "_self" ist der Defaultwert.

// bis hierhin und nicht weiter, so IE
document.forms[0].action = act
document.forms[0].submit();
}

Das einzige, was mir auffällt, ist das fehlende Semikolon. Auch wenn das in JS nicht vorgeschrieben ist: Ergänze das mal. Den Aufruf von submit() kannst du dir übrigens sparen - so wird das Formular zweimal abgesendet.

SO long,
 Martin

--
Männer haben nur eine Angst: Die Angst, kein Mann zu sein.
  (Liv Tyler, US-Schauspielerin)