Die meisten wissen auch nicht, dass Sie die gedrückte Formularschaltfläche unterscheiden können, indem Sie ihnen nur ein Name / Wert-Paar geben. Z.B
<form action="process" method="post">
...
<input type="submit" name="edit" value="Edit">
<input type="submit" name="delete" value="Delete">
<input type="submit" name="move_up" value="Move up">
<input type="submit" name="move_up" value="Move down">
</form>
Auf der Serverseite kann die tatsächlich gedrückte Taste erhalten werden, indem nur das Vorhandensein des Anforderungsparameters überprüft wird, der dem Schaltflächennamen zugeordnet ist. Ist dies nicht null
der Fall, wurde die Taste gedrückt.
Ich habe gesehen , eine Menge von unnötigem JS Hacks / Abhilfen für das, zum Beispiel der Form Aktion zu ändern oder einen versteckten Eingabewert ändert vorher je nach Betätigung der Taste. Es ist einfach erstaunlich.
Außerdem habe ich fast so viele JS-Hacks / Workarounds gesehen, um die aktivierten Kontrollkästchen mehrerer Kontrollkästchen wie in Tabellenzeilen zu sammeln. Bei jeder Auswahl / Prüfung einer Tabellenzeile fügte der JS den Zeilenindex zu einem durch Kommas getrennten Wert in einem verborgenen Eingabeelement hinzu, der dann auf der Serverseite weiter aufgeteilt / analysiert wurde. Dies ist das Ergebnis der Unwissenheit, dass Sie mehreren Eingabeelementen denselben Namen, aber einen anderen Wert geben können und dass Sie weiterhin als Array auf der Serverseite darauf zugreifen können. Z.B
<tr><td><input type="checkbox" name="rowid" value="1"></td><td> ... </td></tr>
<tr><td><input type="checkbox" name="rowid" value="2"></td><td> ... </td></tr>
<tr><td><input type="checkbox" name="rowid" value="3"></td><td> ... </td></tr>
...
Die Unwissenheit würde jedem Kontrollkästchen einen anderen Namen geben und das gesamte Wertattribut weglassen. In einigen JS-Hack- / Workaround-freien Situationen habe ich auch unnötig überwältigende Magie im serverseitigen Code gesehen, um die überprüften Elemente zu unterscheiden.