Нажатие кнопки работает только при нажатии пользователем - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь автоматизировать заполнение форм с помощью javascript. Форма состоит только из текстовой области и кнопки.

Моя проблема заключается в том, что кнопка отправки работает только тогда, когда пользователь непосредственно заполняет текстовую область, поскольку при щелчке мышью текстовая область вводит в нее текст, а затем нажимает кнопку отправки. кнопка. Когда я заполняю текстовую область с помощью javascript, установив свойство value, нажатие кнопки ничего не делает.

Я пытался:

  • переключение свойства disabled кнопки
  • вызов фокуса на текстовой области перед установкой ее значения
  • вызов onclik, oninput и других событий в текстовой области

Как я могу заставить кнопку работать? Кроме того, как вы могли бы реализовать такое поведение, которое предотвращает создание сценариев, требующих прямого взаимодействия с пользователем?

Редактировать:

Исходный код:

<div class="scheduled-messages-scheduled-messages-composer-dc82a7dd">
    <textarea class="skins-base-inputBar-072d808b schedule-message-composer-schedule-message-composer-inputBar-8fc881c1"
        placeholder="Geburtstagsgruß eingeben" style="height: 42px;"></textarea>
    <button
        class="button-ButtonShell-button-d65a8314 skins-medium-button-a55379d9 skins-secondary-button-9690021c scheduled-messages-scheduled-messages-button-c44aa750"
        disabled="" type="submit" aria-label="Vorbereiten">
        <div class="button-ButtonShell-inner-bfcb2691">
            <svg viewBox="0 0 24 24" class="button-ButtonShell-buttonIcon-41b9a09e">
                <g fill="none" fill-rule="evenodd" data-darkreader-inline-fill=""
                    style="--darkreader-inline-fill:none;">
                    <path d="M0 0h24v24H0z"></path>
                    <path
                        d="M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm.8 2v6.25h4.25v1.5H11.3V6h1.5z"
                        fill="currentColor" fill-rule="nonzero" data-darkreader-inline-fill=""
                        style="--darkreader-inline-fill:currentColor;"></path>
                </g>
            </svg>
            <span class="button-ButtonShell-text-22de94f8">Vorbereiten</span>
        </div>
    </button>
</div>

Исходный код от xing (немецкий эквивалент linkedin) со страницы пожеланий ко дню рождения по расписанию (https://www.xing.com/messenger/scheduled-messages/new/).

У меня также была такая же проблема с hubspot в форме создания контакта ( https://app.hubspot.com/contacts/) но там я смог напрямую использовать их API для обхода проблемы.

1 Ответ

0 голосов
/ 02 апреля 2020

Поскольку вы уже заполняете текстовое поле с помощью JavaScript, вы также можете отправить форму с JavaScript. document.forms.myFormID.submit();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...