javascript — автоматическое нажатие кнопки «Отправить» через 10 секунд в php с использованием jquery.

Я пытаюсь автоматически отправить после 10s в PHP с помощью jquery, но никаких действий не сделано.

Я старался:

<?php echo "<div class="page-header">
<h1 class="h2"></h1>
</div>
<script>
var checkState = function(){
jQuery.ajax({
url: 'check_diffex.php?od=$scdate'
}).done(function(data){
if(data.diffex >= 10) {
$('#quizsb').submit();
});
}
checkState();
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jque‌​ry.min.js"></script>
<form method="post" action="qform.php?srn=<?php echo $srn ?>&id=<?php echo $id ?>" enctype="multipart/form-data" class="form-horizontal" id="quizsb">
.....
</form
"?>

check_diffex.php

<?php

header('Content-Type: application/json');
if(isset($_GET['od'])){
$deotd = $_GET['od'];
}
date_default_timezone_set('Asia/Calcutta');
$cdate = date('Y-m-d H:i:s ', time());
$scdate = strtotime($cdate);

$e = $scdate - $deotd;

// You would calculate a real value here
echo json_encode([
'diffex' => $e
]);
?>

Перед ответом, пожалуйста, посмотрите на это комментарий

0

Решение

используйте функцию setTimeout.
Ниже код отправить форму автоматически через 10 секунд после загрузки страницы

<!DOCTYPE html>
<html>
<body>

<p>Enter some text in the fields below, then press the "Submit form" button to submit the form.</p>

<form id="myForm" action="/action_page.php">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br><br>
<input type="button" onclick="myFunction()" value="Submit form">
</form>

<script>
setTimeout(function(){ document.getElementById("myForm").submit(); }, 10000);

</script>

</body>
</html>
1

Другие решения

Вместо этого используйте Cookie, если вы не хотите, чтобы пользователь увеличивал время ожидания, поэтому установите Cookie на 10 секунд и удалите cookie после этого. Пожалуйста, примените свою логику, чтобы удалить cookie через 10 секунд и всегда проверяйте, установлен ли cookie или нет, а затем отправьте форму.

function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays * 24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector