Как вызвать метод ajax response () для сервера из автозаполнения брелка Safari? - PullRequest
0 голосов
/ 29 апреля 2019

У нас есть приложение Java-EE на основе Wicket.

Проблема в том, что когда вы хотите автоматически заполнить имя пользователя и пароль с помощью подсказки цепочки для ключей от Safari, сервер не может зарегистрировать имя пользователя, потому что Safari с цепочкой для ключей не отправляет обратный вызов Ajax, который серверу необходимо перехватить с помощью метода ajax:

/**
     * @param target
     *            The AJAX target
     */
    protected abstract void respond(AjaxRequestTarget target);  

Как должен выглядеть html-код текстового поля или javascript этого компонента для отправки обратного вызова ajax при заполнении из цепочки для ключей apple?

Спасибо за любой ответ.

1 Ответ

2 голосов
/ 30 апреля 2019

Полагаю, у вас есть HTML-форма с полем ввода текста для имени пользователя, полем пароля для пароля и кнопкой (ajax ?!) для отправки формы.

Вам необходимо активировать прослушиватель щелчка кнопки, как только поля имени пользователя и пароля будут заполнены функцией автозаполнения Safari.

Если Safari запускает событие после их заполнения, код JS будет выглядеть примерно так:

$('#passwordId').on('change', function(evt) {
   if ($('#usernameId').value() && $('#passwordId').value()) {
       $('#buttonId').click();
   }
});

Выше я предполагаю, что Safari запускает событие change после автоматического заполнения поля пароля. Затем, если поля имени пользователя и пароля не являются пустыми, я нажимаю кнопку. Это приведет к нормальному поведению этой кнопки, то есть она вызовет (Ajax) сервер, а Wicket сделает все остальное.

...