Hi,
habe mal eine Frage zu folgendem Sachverhalt.
Ich habe ein Formular welches mittels eine AjaxSubmitLink abgesendet wird. In der onSubmit Methode erzeuge ich aus dem Formular-Feldern eine Entität welche im im Anschluss speichere. Darüber hinaus öffne ich ein modales Fenster welches dem Benutzer anzeigt, dass seine Eingabe erfolgreich war. Mein Problem ist, dass ich zwar die Daten in die DB bekomme und auch die Erfolgsmeldung zu sehen ist, ich aber weder die Eingabefelder geleert noch ggf. mögliche zuvor geworfene Validierungsfehler entfernt bekomme?!
Hier mal mein BSP-Code:
Kann mir jemand weiterhelfen wie die Input-Felder wieder leer bekomme?
Danke im Voraus.
habe mal eine Frage zu folgendem Sachverhalt.
Ich habe ein Formular welches mittels eine AjaxSubmitLink abgesendet wird. In der onSubmit Methode erzeuge ich aus dem Formular-Feldern eine Entität welche im im Anschluss speichere. Darüber hinaus öffne ich ein modales Fenster welches dem Benutzer anzeigt, dass seine Eingabe erfolgreich war. Mein Problem ist, dass ich zwar die Daten in die DB bekomme und auch die Erfolgsmeldung zu sehen ist, ich aber weder die Eingabefelder geleert noch ggf. mögliche zuvor geworfene Validierungsfehler entfernt bekomme?!
Hier mal mein BSP-Code:
Java:
FormComponent<String> surname = new TextField<String>( Constants.SURNAME ).setType( String.class );
surname.setRequired( true );
add( surname );
final FeedbackPanel feedback = new FeedbackPanel( "feedback" );
feedback.setOutputMarkupId( true );
add( feedback );
add( new AjaxSubmitLink( "showModal" ){
@Override
protected void onError( AjaxRequestTarget target, Form<?> form ){
target.addComponent( feedback );
}
@Override
protected void onSubmit( AjaxRequestTarget target, Form<?> form ) {
WebSession.get().cleanupFeedbackMessages(); //my attempt to clean the feedback message
feedback.getFeedbackMessagesModel().setObject( null ); //another attempt to clean the feedback message
clearInputValues(); //my attempt to reset the input field
PersistenceManager pm = PMF.getPersistenceManager();
Entity ent = createEntity();
try {
pm.makePersistent( ent );
modal.show( target );
}
catch( Exception e ){
info( "Exception" );
}
finally {
pm.close();
}
}
});
......
private void clearInputValues(){
ValueMap values = getModelObject();
values.put( Constants.SURNAME , "" );
}
Kann mir jemand weiterhelfen wie die Input-Felder wieder leer bekomme?
Danke im Voraus.