Теперь я помню ... В коде FormPanel есть ошибка, из-за которой form.submit()
не работает, когда тип формы изменяется по умолчанию (не знаю, исправлена ли она еще в каком-либо выпуске GWT)).Если вы создадите «нативную» кнопку отправки следующим образом:
HTML nativeSubmitButton new HTML("<input class='gwt-Button' type='submit' value='" + buttonText + "' />")
Она отправит форму.
Недостатком является то, что вы не можете использовать какие-либо методы Button для этого объекта, так как это простая оболочка HTML.Поэтому отключение кнопки «Отправить» (чтобы избежать случайного двойного подтверждения и предоставления отзыва о том, что форма действительно отправляется) не будет работать.
Я создал для этой цели служебный класс DisableableSubmitButton,по сути, FlowPanel с одной кнопкой HTML, как указано выше, и одной кнопкой gwt, которая отключена, и некоторой логикой для переключения каждой из них видимой.Так как он не может изменить фактическое включенное состояние кнопки HTML, все обработчики отправки должны спросить этот класс, «включен» он или нет, и отменить событие, если оно есть.Если вы заинтересовались этой реализацией, я мог бы поделиться ею с вами (я не хочу, чтобы поток стека перекрывался с кодом, если вы не заинтересованы).