Javascript 刷新或按下后退按钮id时提交表单,以响应用户的确认
我正在开发一个测验模块。在测试页面中,当用户尝试刷新页面或尝试返回时,我应该提醒用户,如果他还想这样做,我应该提交表单。Javascript 刷新或按下后退按钮id时提交表单,以响应用户的确认,javascript,jquery,html,form-submit,page-refresh,Javascript,Jquery,Html,Form Submit,Page Refresh,我正在开发一个测验模块。在测试页面中,当用户尝试刷新页面或尝试返回时,我应该提醒用户,如果他还想这样做,我应该提交表单。 这是我的HTML表单 <form method="post" name="form1" id="form1" action="testdone.php" > <?php $sql=mysql_query("SELECT * from test WHERE id='".$recordid."'"); $record = mysql_fetch_array($
这是我的HTML表单
<form method="post" name="form1" id="form1" action="testdone.php" >
<?php
$sql=mysql_query("SELECT * from test WHERE id='".$recordid."'");
$record = mysql_fetch_array($sql);
for($i=1;$i <= $record['noofquestion'];$i++)
{
$sql1 = mysql_query("SELECT * FROM question WHERE id='".$questions[$i-1]."'");
$ques= mysql_fetch_array($sql1);
?>
<div class="col-xs-11 col-xs-offset-1">
<?php echo "<p style=\"font-size:25px\">".$i.".".$ques['question']."</p><br>";?>
<input type="radio" name="responce[<?php echo $i-1 ?>]" value="na" checked="checked" hidden="hidden">
<input type="radio" name="responce[<?php echo $i-1 ?>]" value="a" required><font style="font-size:20px;" ><?php echo $ques['a']; ?></font>
<input type="radio" name="responce[<?php echo $i-1 ?>]" value="b" required><font style="font-size:20px;"><?php echo $ques['b']; ?></font>
<input type="radio" name="responce[<?php echo $i-1 ?>]" value="c" required><font style="font-size:20px;"><?php echo $ques['c']; ?></font>
<input type="radio" name="responce[<?php echo $i-1 ?>]" value="d" required><font style="font-size:20px;"><?php echo $ques['d']; ?></font>
</div>
<?php
}
?><center><input class="btn btn-success" type="submit" value="SUBMIT" name="submitbutton" id="submitbutton"></center>
</form>
我看不到您提供的代码中有任何东西可以解释它为什么会提示用户。你是用jfiddle/codepen还是别的什么工具测试的?如果您正在发布到其他页面,这些站点可能会确认页面更改或刷新。@脚本中的window.onbeforeunload=function()将在页面重新加载时提示用户。当用户在提示符中选择离开页面时,我需要提交表单,但它只是刷新表单。
<script>
window.onbeforeunload = function() {
$('#form1').submit();
return true;
};
</script>
function CountDown(duration, display) {
if (!isNaN(duration)) {
var timer = duration, minutes, seconds;
var interVal= setInterval(function () {
minutes = parseInt(timer / 60, 10);
seconds = parseInt(timer % 60, 10);
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
$(display).html("<b style=\"font-size:25px;\">Time left: " + minutes + "m : " + seconds + "s" + "</b>");
if (--timer < 0) {
timer = duration;
SubmitFunction();
$('#display').empty();
clearInterval(interVal)
}
},1000);
}
}
function SubmitFunction(){
document.form1.submit();
return false;
}
CountDown(<?php echo $duration*60; ?>,$('#display'));