Hi!
Kann man es erzwingen, dass der Zustand einer Checkbox (on/off) innerhalb eines Formulars stets bei einer Post-Message übertragen wird?
Nein. Damit ein name-value-Pärchen eines Form-Controls übertragen wird, gibt es Festlegungen in der HTML-Spezifikation (4.01). Nur successful (erfolgreiche) Controls werden übertragen. Controls, die disabled sind, sind nie successful. Angehakte Checkboxen können successful sein. Mehr steht dazu nicht. Nicht angehakte Checkboxen werden üblicherweise genauso wie auf disabled gesetzte nicht übertragen. Damit lässt sich keine Unterscheidung treffen.
Es gibt für PHP den Trick, ein Hidden-Control mit selbem Namen vor der Checkbox zu notieren. Die Checkbox überschreibt dann den Hidden-Wert oder auch nicht. Der Trick geht in anderen Systemen nicht so, weil zwei Werte mit selbem Namen sich da meist nicht überscheiben sondern ein Array mit beiden Werten bilden oder anderes. Für disabled wäre dann das Hidden-Element ebenfalls auf disabled zu setzen oder ganz wegzulassen.
Anders sieht die Geschichte bei Verwendung von Javascript aus, da kannst du ja alles machen was du willst, disabled setzen/entfernen, bei der Checkbox und beim Hidden, Hidden mit Default-Wert hinzufügen, ...
Lo!