Cómo crear AjaxFormSubmitBehavior

en mi formulario solo tengo un campo sin botones:

add(new AutoCompleteTextField<String>("hladaneSlovo", settings) {
            private static final long serialVersionUID = 1L;

            @Override
            protected Iterator<String> getChoices(String input) {
                return new HladaneSlova().iterator();
            }
        }.add(new AjaxFormSubmitBehavior(this, "onsubmit") {
            private static final long serialVersionUID = 1L;

            @Override
            protected void onSubmit(AjaxRequestTarget target) {
                setResponsePage(new VyjimkyPage(parametry));
            }

            @Override
            protected void onError(AjaxRequestTarget target) {
            }
        }));

el problema es que cuando envío este formulario (simplemente escribo word y luego presiono enter) no sucede nada. Lo que está mal ?

preguntado el 04 de julio de 12 a las 09:07

¿Tiene el envío () de su formulario anulado? Debería llamarse. -

onFormSubmitted es el método final, no puedo anularlo -

use onSubmit() no onFormSubmitted(). Todo lo que necesitas es un en tu forma no es necesario agregar un SubmitLink en java. Solo en html y anula el onSubmit () del formulario:

oh, ok, gracias, funciona, pero no puedo aceptar tu respuesta porque agregas esto en el comentario:

2 Respuestas

Mi comentario anterior como respuesta: No es necesario un AjaxFormSubmitBehavior. Debe anular el onSubmit () en su formulario:

Form form = new Form("form") {

   @Override
   public void onSubmit() {
      // do your stuff
   }

   @Override
   public void onError() {
      // you get here in case of errors (conversion/validatio)
   }
}
add(form);

form.add(...)

No estoy 100% seguro de que necesite un botón en su formulario. Si necesita uno en html:

<form wicket:id="form">
   <input type="text" wicket:id="yourAutoComplete">
   <input type="submit" value="submit">
</form>

No necesitará conectar el elemento de entrada de envío a un componente Java. Pero puede probar sin el elemento de envío en html y ver si funciona.

Respondido 04 Jul 12, 21:07

No necesitas el botón de enviar. - carl eric menzel

Debe agregar AjaxFormSubmitBehavior al formulario en lugar de agregarlo al campo de texto.

Respondido 04 Jul 12, 09:07

Intento agregar este comportamiento al formulario, pero aún no funciona: hudi

¿Tiene un botón Enviar adjunto a su formulario? Porque cuando presiona la tecla de retorno, su navegador intenta encontrar el primer botón de envío adjunto al formulario y llama a la acción de envío de este botón. - magomi

Le sugiero que agregue un botón de envío o agregue un AjaxEventBehavior a su campo de texto que escuche los eventos de actualización en este campo. - magomi

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.