Automatické odeslání formuláře

Allconius
Člen | 317
+
0
-

Ahoj, dělám stránku s testem, kde mám formulář pro vyplnění a potřeboval bych aby se automaticky odeslal po 10-ti minutách. Uživatel je přihlášený a mám u něj uloženou hodnotu začátku testu. Odeslání mám teď jen haluzově přes JS:

<?php
$ubehlo = time()-$start;
$konectestu = (($castestu*60)-$ubehlo)*1000;


<script type="text/javascript">
<!--
   var wait=setTimeout("document.test.submit();",{$konectestu});
//-->
</script>
?>

Ale nevím jestli to nemám zbytečně složitě a taky je blbý když si někdo vypne JS. Potřeboval bych něco co by sledovalo ten čas začátku testu a pokud by to bylo $start+10 min. tak automaticky odeslalo formulář.

Editoval Allconius (30. 1. 2019 9:57)

Allconius
Člen | 317
+
0
-

ještě mě napadlo do presenteru podstrčit něco jako:

<?php
....
$form->onSuccess[] = [$this, 'testFormSucceeded'];

if ($_POST['_do']=='testForm-submit') $this->testFormSucceeded(Form $form, $values);
?>

akorát se tam zas nepředají ty hodnoty z formuláře …

Pavel Kravčík
Člen | 1196
+
0
-

Nebo udělat onFocusOut() na políčka formuláře a pak uložení do session/ajaxový požadavek. Pokud si někdo nechá záložku otevřenou 2 dny, tak se Ti nebude každých 10 minut posílat požadavek.

MajklNajt
Člen | 502
+
0
-

v každom prípade formulár bez javascriptu automaticky neodošleš, ani prvou alternatívou, ani ajaxom…