我知道这个问题已经得到解答,但它对我不起作用。我正在创建一个 mcq 问题页面。其中问题是由 Json 文件生成的。我设置了 90 分钟的时间限制来解决问题,90 分钟后表单必须自动提交表单到表单的 action="page"。我尝试使用设置超时,但失败了,而且我也没有收到任何错误。
这是 HTM 和 PHP 中的表单
<div class="col-md-8">
echo <form id="gi" method="post" name="mockForm" action="checkAnswer.php">
<?php
foreach ($json_data as $key => $value) {
echo
"<p><span class='que'> Question</span>  ". $value['number']."  ". "<br><hr class='line'>". $value['question']."<br><br>".
"<pre>"."<input type='radio' name='question" . $value['number']."' value='op1' required>" ." " , $value['op1']."</pre>".
"<pre>"."<input type='radio' name='question" . $value['number']."' value='op2' required>" ." " , $value['op2']."</pre>".
"<pre>"."<input type='radio' name='question" . $value['number']."' value='op3' required>"." " , $value['op3']."</pre>".
"<pre>"."<input type='radio' name='question" . $value['number']."' value='op4' required>"." " , $value['op4']."</pre>".
"<pre>"."<input type='radio' name='question" . $value['number']."' value='0' required>"."LEAVE QUESTION"."</pre>".
"</p>";
}
?>
<input class="submitBtn" type="submit" name="submit" value="SUBMIT">
<button onclick="hit(); handleClick();">click</button>
</form>
这是Js
setTimeout(function(){
$('#gi').submit();
},10000);
</script>
checkANswer.php
<?php
$contentOfJsonFile = file_get_contents("example_10.json");
$JsonData = json_decode($contentOfJsonFile, true);
$correctAnswerArray = [];
$wrongCount = 0;
$correctCount = 0;
foreach ($JsonData as $key => $value) {
array_push($correctAnswerArray, $value['correct_answer']);
}
$userAnswerArray = $_POST;
$breakForeach = count($userAnswerArray) - 1;
$loopRun = 0;
foreach ($userAnswerArray as $key => $answer) {
$questionNumber = substr($key, -1);
if ($correctAnswerArray[$questionNumber] === $answer) {
# increment correct
$correctCount++;
} else if($correctAnswerArray[$questionNumber] === 0) {
# increment wrong
$wrongCount++;
}
else {
$wrongCount++;
}
$loopRun++;
if($breakForeach == $loopRun ) break;
}
echo "<br>".$correctCount."<br>";
echo $wrongCount;
?>
最佳答案
试试这个功能
window.setTimeout(function() {
document.forms['mockForm'].submit();
}, 10000 );
关于javascript - 使用 JavaScript 自动提交 Php 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58967596/