PHP可以在计时器到期后提交HTML表单吗
Can PHP submit an HTML form after a timer expires?
在经过一定时间后,PHP是否可以将表单POST
??我正在我的网站上为学生创建一个测试部分,他们将在那里回答MCQ。时间结束后,应立即通过<form action="">
将结果发布到下一页。
请告诉我,我是否可以有其他选择来实现同样的目标。
我不赞成javascript,因为我将有几十名学生,他们的电脑上可能都没有安装javascript。
编辑以添加我的代码,包括来自以下答案的JavaScript:
这不起作用:
<html>
<head>
<script>
window.setTimeout(function() {
document.forms['test_form'].post();
}, 2000);
</script>
</head>
<?php
define("HOST", "localhost"); // The host you want to connect to.
define("USER", "admin"); // The database username.
define("PASSWORD", "admin"); // The database password.
define("DATABASE", "test"); // The database name.
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
//some PHP code wil com here...
?>
<body>
<form action="test_submit.php" method="post" name="test_form">
<label>This is Question #1:</label>
<input type="radio" name="answers1" id="answers1">Answer1</input>
<input type="radio" name="answers2" id="answers2">Answer2</input>
</form>
</body>
</html>
它并没有像我预期的那样在2秒钟后将页面转发到testrongubmit.php。。。
简单的答案是否定的。PHP是一种服务器端语言,无法控制客户端(例如浏览器)。
你能做你想做的事情的唯一方法就是使用JavaScript。JavaScript允许您控制表单的流,包括提交表单。
window.setTimeout(function() {
document.forms['form_name'].submit();
}, 1000);
其中form_name
是您的表单,1000是以毫秒为单位延迟发布的时间(即1000=1秒)。
如果您的表单没有名称(但有id),您也可以使用DOM:来执行此操作
window.setTimeout(function() {
document.getElementById('form_id').submit();
}, 1000);
其中form_id
是表单的id属性。
相关文章:
- 如何在提交html表单后保持相同的位置
- 使用 WebView for Android 提交 HTML 表单
- 纯javascript的进度图像加载程序仅当用户单击提交html表单时
- 为什么这个javascript/jQuery没有提交html表单
- 提交HTML表单,该表单使用带有cURL的javascript进程
- 在 javascript 中提交 HTML 表单上的多个输入值
- 异步数据加载后提交HTML表单的正确方法是什么
- 通过 AJAX 请求提交 HTML 表单
- 在提交 HTML 表单后从数组中提取数据(按键事件)
- SilverStripe 通过 Ajax 提交 HTML 表单
- 我可以使用 Ajax 和 Visual Composer (Raw HTML 和 Raw JS) 提交 HTML Sal
- 尝试通过javascript提交html表单变量时没有任何反应
- Iframe 发布表单 - 在更改输入字段时提交 html 表单
- 在提交 HTML 表单后保留 JavaScript 中的 innerHTML 值
- 用于在离线时提交 HTML 表单的 Javascript
- 无法在 Angular 2 应用程序中提交 HTML 表单
- 提交 HTML 表单而不打开新窗口
- 在php中提交html表单
- 如何在提交HTML表单时强制不接收数据
- 如何在不重定向的情况下提交 HTML 表单