Нажатие кнопки отправки формы HTML с помощью кода Javascript
Я не очень разбираюсь в WEB-тестировании, поэтому не стесняйтесь спрашивать, не хватает ли я каких-либо деталей.
Существует определенный сайт, который я посещаю очень часто, и он требует, чтобы пользователи регистрировались каждый раз, когда они посещают. Для страницы входа на этом веб-сайте я пытаюсь записать учетную запись, которая автоматически войдет в систему.
Мне удалось заполнить поля формы, но не знаю, как нажать кнопку отправки на JavaScript. Ниже приведен сжатый вариант исходного кода входа. Как я могу автоматически щелкнуть эту кнопку отправки в этом коде?
<div id="start">
<div id="header">
<div id="login">
<form id="loginForm" name="loginForm" method="post" action="#">
// ...
<input type="submit" id="loginSubmit" onclick="changeAction('submitInput','loginForm');document.forms['loginForm'].submit();" value="Log in" />
// ...
</form>
</div>
</div>
</div>
Ответы
Ответ 1
document.getElementById('loginSubmit').submit();
или используйте тот же код, что и обработчик onclick
:
changeAction('submitInput','loginForm');
document.forms['loginForm'].submit();
(Хотя этот обработчик onclick
выглядит глупо-написанным: document.forms['loginForm']
может быть заменен на this
.)
Ответ 2
Обычный способ отправки формы в целом - вызов submit() в самой форме, как описано в ответе krtek.
Однако, если вам действительно нужно нажать кнопку отправки по какой-либо причине (ваш код зависит от имени/значения кнопки отправки или чего-то еще), вы можете щелкнуть по самой кнопке отправки следующим образом:
document.getElementById('loginSubmit').click();
Ответ 3
Вы можете сделать:
document.forms["loginForm"].submit()
Но это не вызовет действие onclick
вашей кнопки, поэтому вам нужно будет вызвать его вручную.
Имейте в виду, что вы должны использовать name
вашей формы, а не id
для доступа к ней.