Robert R.: Name des Submit-Buttons ermitteln

Beitrag lesen

Liebe Mitdenker,
liebe Wissende,
liebe Neugierige,

ja!

wie kann ich in einer JS-Funktion, die per onSubmit im <Form> aufgerufen wurde, feststellen, wie der Name oder die ID des auslösenden Buttons war?

Interessanter Fall, es wundert mich, dass es dafür keine einfache Lösung gibt, aber hier ist mein Vorschlag: Gib den Submit-Buttons jeweils Namen und Werte:

Mit jquery gibt es ein paar Lösungen, aber die haben dann doch jede Menge Overhead :-(

<button name="submit" value="whooopwhooop">

<button name="submit" value="olala">


>   
> Beim Absenden des Formulars wird das Schlüssel/Werte-Paar des verwendeten Buttons in die HTTP-Anfrage einkodiert. An dieser Stelle könntest du dich einhooken, um den Button zu erfragen:  
>   
> ~~~javascript

form.addEventListener('submit', function ( submitEvent ) {  

>   
>    var formData = new FormData( submitEvent.target );  
>    // formData ist eine Liste aller Schlüssel/Werte-Paare, die übertragen werden  
>   
>    var submitButtonValue = formData.get('submit');  
>    // "whooopwhooop" oder "olala"?  
>   
>    var submitButton = submitEvent.target.querySelector('button[name=submit][value='+submitButtonValue+']');  
>   
> });

Das muss icb mir nochmal genauer reinziehen. Ich hatte auch keinen <button>, sondern ein <input type="submit" name="buttonname" value="blah"> im Auge. Das Value-Attribut will ich lieber nicht auswerten, weil es sprachabhängig ist. Das würde das Programm unnötig komplizieren. Eine eigene ID pro <input ...> wäre aber leicht möglich.

Bitte nicht lachen. Die Lösung war viel einfacher.

Ich habe die weiteren Submit-Buttons wegrationalisiert, indem ich sie durch als Button gestylte Links ersetzt habe. Wenn nichts submittet werden muss, brauchts auch keinen Input-Button dafür. Das passt auch besser ins Gesamtkonzept. Und wenn submittet wird, sollen vorher bestimmte Dinge geprüft werden, z.B. die zulässige Filesize für den Upload. Das klappt nun und wenn abgebrochen wird, reicht der Link zurück aus der Detaildarstellung in die Liste. Die muss dann sowieso neu angefordert werden.

Danke Dir auf jeden Fall für die Nachhilfe. Ich übe das dann nochmal separat :-)

Spirituelle Grüße
Euer Robert

--
Möge der Forumsgeist wiederbelebt werden!