不确定,但这可能是 php.ini 中的错误。这是我的虚拟代码。
<script language="javascript">
function fb_logout() {
document.getElementById("hidden_logout_id").value
alert(document.getElementById("hidden_logout_id").value);
document.getElementById("form_1").submit();
}
</script>
echo "<form id=\"form_1\" action=\"" . $_SERVER['PHP_SELF'] . "\" method=\"post\">";
echo "<input type=\"hidden\" id=\"hidden_logout_id\" name=\"hidden_logout_name\" value=\"1\"/>";
echo "<input type=\"text\" id=\"h_logout2\" name=\"h_logout2\" value=\"1\"/>";
echo "</form>";
var_dump($_POST);
echo "<span onclick=\"fb_logout();\">Logout</span>";
通过单击跨度进行发布时,隐藏的值和表单内的文本不会被发布:var_dump($_POST) 显示一个空变量。但奇怪的是,如果我从表单中删除隐藏项(或者我只是将它放在表单之外)它会起作用,并且它会在 $_POST 中传递表单中剩余的输入文本的值。这是否与从表单外的事件修改隐藏有关?
任何帮助表示赞赏。