Axel Richter: button vs. input

Beitrag lesen

Hallo,

mit einer Art Workflow lasse ich die Felder eines Formulars
ausfüllen.

<form action="/cgi/workflow.cgi" method="POST">
   <select name="Beispiel" size="1" onchange="form.submit()">

^Bitte schreib hier this.form.submit(). Dass es auch ohne this funktioniert, ist Fehlertoleranz der Browser. Man sollte sich nicht drauf verlassen.

<options ...

Sobald ein Wert aus der Liste ausgewählt wird füllt sich die nächste

Dass dies nur mit aktiviertem JavaScript funktioniert, ist Dir klar?

<button type="submit" name"aktion" value="Absenden">Absenden</button>
Das Wertepaar des Buttons wird allerdings immer abgesendet,

Ja, der IE macht das falsch. Richtig ist das Verhalten der Gecko basierten Browser.

Kann ich das für <button> auch so definieren, so dass der Wert nur
gesendet wird, wenn der Button auch angeklickt wurde oder muss ich
für mein Vorhaben den Button mittels <input type="submit" ...
erstellen?

Für den IE geht das nicht mit BUTTON. Da Du aber JavaScript ohnehin voraussetzt, könntest Du bei SELECT.onchange den Button per JavaScript disabled setzten. Dann wird er nicht mitgesendet.

<select name="Beispiel" size="1" onchange="this.form.elements['aktion'].disabled=true; this.form.submit();">

viele Grüße

Axel