java - Obtención del valor de un cuadro de texto Wicket en un evento de intercambio AJAX
onchange (1)
Cuando un usuario ingresa un número en un campo de texto Wicket, necesito capturar el valor ingresado en un evento de cambio AJAX. ¿Cómo puedo hacer esto?
Use un OnChangeAjaxBehavior
, y su modelo de componente se actualizará automáticamente. Puede consultar el valor utilizando component.getDefaultModelObject()
add(new TextField<String>(id, someModel)
.add(new OnChangeAjaxBehavior(){
private static final long serialVersionUID =
2462233190993745889L;
@Override
protected void onUpdate(final AjaxRequestTarget target){
// Maybe you want to update some components here?
// Access the updated model object:
final Object value = getComponent().getDefaultModelObject();
// or:
final String valueAsString =
((TextField<String>) getComponent()).getModelObject();
}
}));
En realidad, OnChangeAjaxBehavior
es bastante agresivo porque registra un oyente clave, por lo que en la mayoría de los casos, el new AjaxFormComponentUpdatingBehavior("onchange"){...}
funcionará igual de bien, si solo desea el evento onchange
.