[ 
https://issues.apache.org/jira/browse/WICKET-2935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12902352#action_12902352
 ] 

Hudson commented on WICKET-2935:
--------------------------------

Integrated in Apache Wicket 1.5.x #267 (See 
[https://hudson.apache.org/hudson/job/Apache%20Wicket%201.5.x/267/])
    Issue: WICKET-2935


> 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
>            Assignee: Igor Vaynberg
>             Fix For: 1.4.10, 1.5-M2
>
>         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.

Reply via email to