Я занимаюсь разработкой веб-приложения с использованием A4J, Richfaces.
Одно из моих требований - мне нужно проверить, изменил ли пользователь какие-либо значения в форме, когда он пытается уйти со страницы.
У меня есть кнопки сохранения и отмены на странице.
Я использую кнопку a4j:command
для отмены функции. Нажатие на кнопку отмены должно сделать ниже вещи
- Проверьте, изменил ли пользователь что-либо в форме (это я делаю с помощью javascript и у меня есть флаг, если пользователь изменил какие-либо значения)
- Отображать окно подтверждения (подтверждение javascript со значениями «Вы действительно хотите отменить изменения - ДА НЕТ»), когда пользователь изменяет значения формы
- Если пользователь говорит ДА, отправьте форму, используя AJAX (используя A4J)
Мой код кнопки команды a4j такой:
<a4j:commandButton action="MyClass.cancel_action"
onclick="checkIsPageChanged()"/>
Проблема заключается в том, что при использовании a4j:commandButton
я не могу вызвать промежуточную функцию javascript (функцию, которая проверяет, обновил ли пользователь какие-либо значения и отображает окно подтверждения), а затем отправить запрос с помощью ajax.
Я посмотрел на код, сгенерированный JSF, и он похож (не точный, но синтаксический)
<input type="button"
onclick="checkIsPageChanged();AJAX.submit('')/>
Дело в том, что когда я нажимаю на кнопку, он звонит только checkIsPageChanged()
и не звонит AJAX.submit()
.
Любой обходной путь для этого поможет мне.
Заранее спасибо.