Der Martin: In Funktion auslagern / Doppelposting verhindern

Beitrag lesen

Hi,

Wie ändere ich in meiner Javascript-Funktion die formular-action?

indem du der action-Eigenschaft des Formularobjekts einen neuen Wert zuweist.

<form name = "form_40">

<input type='submit' id='sende_button' name="sendebutton[40]" value='Ändern' onclick="my_function(25, 'form_40')">
</form>

  
Das Formular hat kein action-Attribut, es gilt also der Defaultwert "", was einem Versenden "an sich selbst" entspricht.  
Warum hängst du das Event eigentlich an onclick des Submit-Buttons? Soll es nicht auslösen, wenn man das Formular normal durch Drücken der Enter-Taste absendet? Der onsubmit-Handler des Formulars selbst erscheint mir für dieses Vorhaben geeigneter - ganz abgesehen davon, dass der Zugriff auf das Formularobjekt sich dann fast von allein ergibt.  
  

> ~~~javascript

function my_function(anker, id) {  

> id.form.action += '#' + anker;  
> }

Beim Aufruf dieser Funktion aus dem obigen Eventhandler heraus hat anker den Wert 25, id ist ein String mit dem Wert "form_40". Du willst dann die nicht existierende Eigenschaft form.action des übergebenen String-Objekts auslesen (->Javascript-Fehler) und ihm "#25" anhängen.

Auf das Formularobjekt greifst du aber nicht im Entferntesten zu.

Ciao,
 Martin

--
Du kannst dem Leben nicht mehr Tage geben.
Aber dem Tag mehr Leben.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(