Hi all, I've a problem with Forms and ModalWindows.
I have this stuff: -a page with a main Form (the only one that is rendered as an HTML form tag) -this my only page, since all inside it is changed by replacing panels using ajax. -inside some other levels of panels, i have a panel with my content (let me call it myContentPanel), which has its own (sub) Form (which is rendered as a div). -myContentPanel has some controls... TextFields, DropDownChoices, CheckBoxes. -myContentPanel has also a link that opens a ModalWindow. -the ModalWindow has its own Form with components, and an AjaxSubmitLink to close it. Now the problem... 1- I enter to myContentPanel and enter some values in the components. 2- I press the link to open the ModalWindow. 3- I work with the ModalWindow, then press an AjaxSubmitLink to close it. 4- When refreshing myContentPanel, the values in some controls is lost: CheckBoxes, DropDownChoices, but NOT in TextFields. After some investigation, this is what i've discovered: -on step 3 (accept and close the ModalWindow), the AjaxSubmitLink calls (javascript) wicketSubmitFormById passing the ModalWindow's form as parameter. -this processes the ModalWindow's form and prepares the values to be sent to wicket side. -but when i see the url, it mentions that the form that will be used for the HTTP request is the page's form (because it's the only real form, i think this is normal). -on wicket side, the request processing calls Form#onFormSubmitted, which calls #inputChanged, which calls a visitor visiting all components... in the main form! -this ends up calling FormComponent#inputChanged on the CheckBoxes, DropDownChoices, TextFields that where in myContentPanel (also for the controls in the ModalWindow, but that's no surprise). -given that the javascript only prepared the data for the ModalWindow's form, the values for the components in myContentPanel is empty. -looking deeper in #inputChanged, getInputAsArray() gives null for the components in myContentPanel. -then, since CheckBox and DropDownChoice answer true to isInputNullable() (default in FormComponent), the rawInput is set to null, even if i didn't touch the CheckBoxes/DropDownChoices at all in this call (then losing the previous value: NO_RAW_INPUT). -on step 4, when the CheckBox/DropDownChoice wants to get rendered again, onComponentTag calls FormComponent#getValue, which if (NO_RAW_INPUT.equals(rawInput)) uses the Model to get the value (what i would expect), but in my case returns the rawInput (null... ouch). I have fixed it temporaly by overriding isInputNullable in my CheckBoxes/DropDownChoice, but i understand that this is not a very good solution. Some doubts that remain: -is there anything wrong with my structure of forms and panels, which is actually producing these side effects? -if only the values for ModalWindow form are sent to the server, why the is onFormSubmitted called on the main page form? -the javadoc in isInputNullable is not very clear for me... do i break something else if i override isInputNullable answering false? Thanks in advance, German