Apache Wicket - Formular nicht übermittelt wird

Einfach, klicke ich auf den Eingang type="submit", und die form ist nicht eingereicht.

Ich gesucht habe Lösungen für dieses Problem, aber Sie sagen, ich sollte schauen wenn ich verschachtelte Formen, die ich nicht, ich bin nur über eins. Sie sagte auch, es könnte etwas deplatziert tag, aber ich habe mich durch das ganze HTML und die tags sind in Ordnung.

Habe ich diesen block im HTML:

<div id="form-options-div" style="margin-top:10px;">
    <input class="btn btn-primary" type="submit" wicket:id="saveClientButton" id="save-client-button" />
    <input class="btn" type="button" id="close-client-button" wicket:id="closeClientButton"/>
</div>

Ich bin mit einem AjaxButton im java-code zur Darstellung der saveClientButton.

Ich bin überschreiben der onSubmit(AjaxRequestTarget, Form<?>). Ich würde die post den gesamten java-code, aber ich habe einen logger an den Anfang der Methode zu sehen, wenn es aufgerufen wird:

logger.debug("ON SUBMIT");

Damit es nicht in der Methode. Eine interessante Sache ist, dass wenn ich das überschreiben der Form onSubmit() - Methode anstelle der AjaxButton, die Seite wirklich neu geladen. Aber es ist nur, dass die onSubmit-Methode noch nicht aufgerufen.

Warum ist das passiert?

EDIT:

private Button saveClientBtn;

saveClientBtn = new AjaxButton(WICKET_ID_SAVE_CLIENT_BUTTON) {

        @Override
        public void onError() {
            logger.debug("Error on submit...");
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
           //code....
        }
};

Könnte die closeClientButton stören das normale Verhalten? Ich weiß es nicht, weil der button-Typ ist button, nicht submit.

editClientForm = new Form<Client>(WICKET_ID_EDIT_CLIENT_FORM);

add(editClientForm);

editClientForm.add(saveClientBtn);

EDIT 2:

OK, anstatt AjaxButton, habe ich beschlossen, überschreiben Sie die Form onSubmit() und onError(). Bei Klick auf die Schaltfläche, sehe ich, dass onError() genannt wird. Jetzt brauche ich, um den Grund herauszufinden, warum.

Ok, ich habe eine FeedbackPanel. Es gibt mir die folgende Meldung:

'[Page class = EditClientPage, id = 6, render count = 1]' is not a valid EditClientPage.

Auch der Fehler erscheint 4-mal, wie in:

'[Page class = EditClientPage, id = 6, render count = 1]' is not a valid EditClientPage.

'[Page class = EditClientPage, id = 6, render count = 1]' is not a valid EditClientPage.

'[Page class = EditClientPage, id = 6, render count = 1]' is not a valid EditClientPage.

'[Page class = EditClientPage, id = 6, render count = 1]' is not a valid EditClientPage.

Was bedeutet dieser Fehler bedeutet?

haben Sie Überschrieben wird der onError() auf den Button, um zu sehen, wenn Sie es erreichen? BTW, Wicket behandelt verschachtelte Formulare (die sind nicht erlaubt in HTML) über subsituting die innere form mit div.
Ich habe versucht, das überschreiben und das setzen einer log... aber es wird nicht aufgerufen. Auch ich doppelt geprüft, keine verschachtelten form. Ich werde verrückt über dieses Thema... ich hoffe, es ist nicht etwas, das dumm und ich können es nur nicht sehen.
Haben Sie fügen Sie ein FeedbackPanel?
Können wir sehen, einige weitere code?
Es sei denn, Sie haben in Ihrem markup eingebettet in eine <form> tag, Wicket, kann nicht das Formular abschicken.

InformationsquelleAutor Comic Sans MS Lover | 2012-11-29

Schreibe einen Kommentar