[
https://issues.apache.org/jira/browse/WICKET-2935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12885539#action_12885539
]
Carl-Eric Menzel commented on WICKET-2935:
------------------------------------------
Please note that the unit test provided in the patch will only work correctly
if the FormTester bug described in WICKET-2934 is fixed.
> FormComponent#inputChanged does not properly check enabled/disabled status of
> the component
> -------------------------------------------------------------------------------------------
>
> Key: WICKET-2935
> URL: https://issues.apache.org/jira/browse/WICKET-2935
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.4.9
> Reporter: Carl-Eric Menzel
> Attachments:
> 0002-fixed-FormComponent-erroneously-generating-empty-raw.patch,
> formdisabled-checkbox-quickstart.tar.gz
>
>
> We noticed this when we had a panel that contains a number of CheckBox
> components. Some of these CheckBoxes were checked, the underlying model
> boolean was true. The panel itself was set to disabled (isEnabled returned
> false), which correctly caused the checkboxes to be rendered with the
> attribute disabled="disabled". On a form submit, however, the previously
> checked boxes were rendered unchecked. Only the internal state of the
> CheckBox and the rendered HTML changed - the model value was not touched.
> After some debugging, I discovered the problem in FormComponent#inputChanged.
> That method only checks for isEnabled(), not isEnabledInHierarchy(). Since
> the CheckBox components themselves were enabled, they were accepting input.
> The browser, on the other hand, did not send anything, since the checkboxes
> were marked as disabled. This caused the CheckBox to receive null as its
> input, which it interprets as false/unchecked. The model was not affected
> since FormModelUpdateVisitor correctly checks isEnabledInHierarchy().
> Solution: FormComponent#inputChanged needs to call isEnabledInHierarchy
> instead of isEnabled.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.