Форма JavaScript submit С полем submit
Мне было интересно, если есть какой-либо метод (с использованием JS или иным образом) для автоматической отправки формы с полем с именем и идентификатором как "представить". По сути, весь мой HTML-код выглядит так:
<html>
<body onload=myForm.submit()>
<form id="myForm" name="myForm" action="http://example.com/examplePage.do" method="POST">
<input type=hidden name="val1" id="val1" value="some_Value"/>
<input type=hidden name="val2" id="val2" value="another_Value"/>
<input type=hidden name="val3" id="val3" value="yet_another_Value"/>
<input type=hidden name="submit" id="submit" value="Continue"/>
</form>
</body>
</html>
Очевидно, myForm.submit() возвращает myForm.submit is not a function
ошибка. Сервер отклоняет запрос, если отсутствует поле "submit" со значением "Continue", и требуется автоматическое подтверждение этого.
2 ответа
Решение
Функция отправки для этой формы полностью недоступна (она была перезаписана). Вы можете украсть один из другой формы, хотя.
document.createElement('form').submit.call(document.getElementById('myform'))
Не работает в старом-IE. (Я думаю, что поддержка появляется с IE7 и далее)
Вместо этого вы можете вызвать отправку прототипа:
HTMLFormElement.prototype.submit.call(myForm);