Mir gefällt auch die Lösung, dass Sie einfach ein zusätzliches Eingabefeld einfügen, die Verwendung von JavaScript erscheint mir ein wenig umständlich.
Je nachdem, was Sie für Ihr Backend verwenden, hängt es davon ab, welche Eingabe zuerst erfolgt.
Bei einem Server-Backend, bei dem das erste Vorkommen verwendet wird (JSP), sollten Sie wie folgt vorgehen.
<input type="checkbox" value="1" name="checkbox_1"/>
<input type="hidden" value="0" name="checkbox_1"/>
Bei einem Server-Backend, bei dem das letzte Vorkommen verwendet wird (PHP, Rails), sollten Sie wie folgt vorgehen.
<input type="hidden" value="0" name="checkbox_1"/>
<input type="checkbox" value="1" name="checkbox_1"/>
Für ein Server-Backend, bei dem alle Vorkommen in einem Listendatentyp gespeichert sind ( []
, array
). (Python / Zope)
Sie können in beliebiger Reihenfolge buchen, Sie müssen nur versuchen, den Wert aus der Eingabe mit der checkbox
Typ-Attribut. Also der erste Index der Liste, wenn das Ankreuzfeld vor dem ausgeblendeten Element war, und der letzte Index, wenn das Ankreuzfeld nach dem ausgeblendeten Element war.
Für ein Server-Backend, bei dem alle Vorkommen mit einem Komma verkettet werden (ASP.NET / IIS) Sie müssen die Zeichenkette mit einem Komma als Trennzeichen aufteilen, um einen Listendatentyp zu erstellen. ( []
)
Jetzt können Sie versuchen, den ersten Index der Liste zu erfassen, wenn das Kontrollkästchen vor dem ausgeblendeten Element lag, und den letzten Index zu erfassen, wenn das Kontrollkästchen nach dem ausgeblendeten Element lag.
![Backend parameter handling]()
Bildquelle