Hallo!
Es ist halt so: Die nicht ausgewählten Felder haben in Acrobat den Wert "Off" und das ist nun halt mal nicht "false" bzw. "0". Nur "false", "0" oder "" würden aber bei der impliziten Typkonvertierung in eine boolsche Variable zu "false".
Alles andere (auch "Off") wird per definitionem zu "true".
Vgl. auch die Acrobat Scripting Reference. ("For checkbox fields, unless an export value is specified, the default used when the field is checked is "Yes" (or the corresponding localized string). When it is unchecked, its value is "Off" (this is also true for a radio button field when none of its buttons are checked).")
Ohnehin ist das Script insofern kritisch, als ja implizit eine dreiwertige Logik für das Feld arbeitsfahig vorausgesetzt wird:
>> if (name.value && arbeitsfahig.value)
Hier könnte man meinen, dass gepürft wird, ob das Feld überhaupt "bearbeitet" wurde. (Aber bei Nicht-Arbeitsfähigkeit ist das Feld bearbeitet und "Leer").
Fazit: Entweder man lebt mit den Exportwerten (d.h. einer ist "Off" und damit in boolscher Sicht immer true, den anderen kann man ggf. auch auf "false", "0" oder "" setzen um ein boolsches false zu erzeugen), oder man arbeitet statt mit Checkboxen mit einem Listenfeld. Damit lassen sich dann auch dreiwertige Logiken abbilden:
"" (=Standardwert ist boolsch 0)
"ja"
"nein"
Gruß
Albrecht Fischer
als Antwort auf: [#55605]