自动提交表单不携带表单变量
Auto Submitted form does not carry form variables
下面的表单在5秒后使用quto javascript提交时不携带表单变量。
正常提交工作正常
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<SCRIPT LANGUAGE="JavaScript"><!--
setTimeout('document.test.submit()',5000);
//--></SCRIPT>
</head>
<body>
<form name="test" id="form1" method="post" action="auto2.php">
<p>
<INPUT TYPE=checkbox NAME="test" VALUE="option1"> Option1
<INPUT TYPE=checkbox NAME="test" VALUE="option2"> Option2
<INPUT TYPE=checkbox NAME="test" VALUE="option3"> Option3
</p>
<p><input type="submit" name="submit_test" value="Submit_test" />
</p>
</form>
</body>
</html>
---------------------------------------------------------------
output page:
--------------------------------------------------------------
<?php
if(isset($_POST['submit_test'])){
$variable=$_POST['test'];
echo $variable;
}
?>
任何帮助都是非常感谢的。谢谢你。
您正在测试submit_test
按钮值是否设置:
if(isset($_POST['submit_test'])){
自动提交表单不会设置该值,所以测试失败。
您应该测试其他表单字段,如隐藏元素
除非复选框被选中,否则你不会得到任何响应(空白或其他)
应该改成
<input type=hidden name="test" value="">
<INPUT TYPE=checkbox NAME="test" VALUE="option1"> Option1
<INPUT TYPE=checkbox NAME="test" VALUE="option2"> Option2
<INPUT TYPE=checkbox NAME="test" VALUE="option3"> Option3
这样当你发布你的表单时你会得到一个默认值
对Pekka的回答
+1
如果您执行以下操作,它将检查页面是否已发布,而无需在发布中设置变量。
if ($_SERVER['REQUEST_METHOD'] === 'POST') { ... }
您可能还应该放入某种形式的验证,以确保它来自您期望的位置
相关文章:
- 如何从表单变量对象中获取特定的from属性
- 联系人表单变量不会从部分标签传递到 javascript 中
- Flask wtf.quick_form运行一些 JavaScript 并设置表单变量
- Javascript 表单变量占位符
- 在 For 循环中通过 Javascript 拉取表单变量
- 尝试通过javascript提交html表单变量时没有任何反应
- 将表单变量从 HTML 传递到 Javascript,但带有引号
- 将 cakephp 表单变量传递给 javascript 以显示在确认消息中
- 我将如何将项目拖放到表单变量并通过电子邮件发送
- 通过 AJAX 将 PHP 表单变量传递给 Google Chart
- 将表单变量传递到onsubmit字段
- Ajax在为动态PHP输出传递多个表单变量时遇到问题
- 发送表单变量数据到另一个网站的表单提交
- 将表单变量传递给参数
- 通过java脚本存储表单变量
- 找不到Twitter注册表单变量signup_ui_metrics的javascript代码
- 安全的html表单变量
- 加载带有表单变量的页面
- 自动提交表单不携带表单变量
- 如何设置索引表单变量