Задать вопрос
@rusindex
Начинающий програмист

Отправка формы form автоматически как?

У меня на сайте тестирование и я поставил таймер который по истечению 20 минут перебрасывает на страницу результата.
Раньше после последнего вопроса сам ученик нажимал кнопку результат и его результаты были переброшены на страницу с результатом. Таймер перебрасывает на страницу результата но не передает форму
<script language="JavaScript" type="text/javascript">

var sec=10;
var min=20;

function refresh()
{
	sec--;
	if(sec==-01){sec=59; min=min-1;}
	else{min=min;}
	if(sec<=9){sec="0" + sec;}
	time=(min<=9 ? "0"+min : min) + ":" + sec;
	if(document.getElementById){timer.innerHTML=time;}
	inter=setTimeout("refresh()", 1000);
	// действие, если таймер 00:00
	if(min=='00' && sec=='00'){
		sec="00";
		clearInterval(inter);
   
		window.location='result1.php';
	}
}

</script>
  • Вопрос задан
  • 221 просмотр
Подписаться 1 Простой 1 комментарий
Решения вопроса 3
motokraft
@motokraft
Кратко о себе
<form action="result1.php"></form>
setTimeout(function () {
jQuery("form").submit();
}, 20000);
Ответ написан
@YashaWeb
Ванильным JS:
document.getElementById('button_submit').click();
Или:
let form = document.getElementById('form');
form.submit();
Ответ написан
@Mazino
Если соответственно вопросу, то:
document.querySelector('<Тут должен быть валидный css селектор для формы.>').submit()

Но это сработает если форма построена правильно с точки зрения html т.е заполнены такие поля как action, метод и.т.д. Управление переходом можно осуществить на стороне бекенда, у вас php как я понял. Можно отправить адрес для перехода в заголовке Location. Стандартное поведение браузера заставит его перейти по тому адресу, который он найдет в Location: (url) ответа.
В ином случае может потребоваться обработка и специфическая сериализация, как и построения запроса, тогда все это ложится на ваши плечи.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы