Hi Martin, This seems to be the normal JSF behavior. Let me explain : - first, your boolean ra.kmt is false, inputText is present and inputTextArea is not. - after a click on your checkbox, ra.kmt is changed and becomes true. So in the component tree, the inputText component is NOT present (rendered=false). That's why it doesn't get the new value. I think it might work if the checkbox was after the inputText, but I wouldn't recommend you to expect this to always work in all cases.
However, the inputText should get a ValueChangeEvent, so if you add a valueChangeListener, you should get the new value. You may want to copy it yourself in ra.debitnote. If it's possible for your project, another solution would be to work with a jsf library such as Apache Trinidad. In Trinidad you have a tr:inputText component that does inputText AND inputTextarea, all-in-one, depending on the number of rows you set. Thus it would be the very same component whether the checkbox is checked or not. Your code with Trinidad would look like : <tr:selectBooleanCheckBox value="#{ra.kmt}" autoSubmit="true" id="chooseSize"/> <tr:inputText value="#{ra.debitnote}" rows="#{ra.kmt ? 4 : 1}" partialTriggers="chooseSize"/> Hope this helps, Regards, Cedric Durmont 2010/6/28 Martin Monshausen <martin.monshau...@prodyna.de>: > Hi community, > would you mind taking a short look to the following problem, please? > > Depending on the value of a checkbox I want to show either an > inputText-element or an inputTextarea-element - as shown below. The default > is, that the checkbox is disabled and therefore the inputText will be shown. > If the user enters some text to the textbox, I want to transfer it to the > inputTextArea. > If I trigger some actions located on the page after text was entered and > before checkbox is clicked (communication with server took place) everything > is working fine. > If I click the checkbox right after entering the text only the changed value > of the checkbox is considered as changed (setter-method for DebitNote will > not be called) and nothing is transferred (assuming nothing was enter to the > inputText before). > What's wrong? Did I missed something? Is there any other solution you would > suggest? > > //checkbox clicking on button in order to transfer state to server > <h:selectBooleanCheckbox value="#{ra.kmt}" > onclick="document.getElementById('updateButton').click();" /> > > //shown on startup; value should be transferred > <h:inputText value="#{ra.debitnote}" rendered="#{!ra.kmt}" size="53" > maxlength="50" tabindex="1" /> > > //shown if checkbox is checked; value of inputText should be displayed > <h:inputTextarea value="#{ra.debitnote}" rendered="#{ra.kmt}" rows="4" > cols="42" tabindex="1" /> > > //just repaint site (only transfer state to server) > <t:commandButton action="repaint" style="visibility:hidden;" forceId="true" > id="updateButton" /> > > Thanks alot, > > Martin >