Hi, guys.

Here is a problem I met today:
When I use DatePicker and I change it's model when ajax request
received, on client side date picker's button image doubles.
It happens because on every request date picker is initialized again
and renders new image every time, but old one doesn't disappear, so
user can see several button images.

Here is simple code snippet for testing:
Form<Void> form = new Form<Void>( "form" );
add( form );
                
DatePicker<Date> datePicker = new DatePicker<Date>( "datepicker",
                                new Model<Date>(), Date.class );
datePicker.setButtonImageOnly( true );
datePicker.setShowOn( ShowOnEnum.BUTTON );
datePicker.setOutputMarkupPlaceholderTag( true );
form.add( datePicker );
                
FormComponent<String> submitBtn = new AjaxButton( "submit",
                                new Model<String>( "Submit" ), form ) {
                        
        @Override
        protected void onSubmit( AjaxRequestTarget target, Form<?> form ) {
                Component datePicker = getForm().get( "datepicker" );
                datePicker.setDefaultModelObject( null );
                                
                target.addComponent( datePicker );
        }
                        
};
form.add( submitBtn );

Here is markup:
<form wicket:id="form">
        <input type="text" wicket:id="datepicker"/>
        <input type="button" wicket:id="submit"/>
</form>

Is there any solution?

Best regards, Alexander.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to