不確定,但這可能是PHP中的一個錯誤。 這是我的虛擬代碼。php表單不能與隱藏字段一起使用
<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中傳遞表單中剩餘的輸入文本的值。 這是否與隱藏從表單外的事件修改?
任何幫助表示讚賞。
_「不確定,但這可能是一個PHP中的錯誤」_Nope,是什麼讓你這麼想?你使用什麼瀏覽器?給出的例子適用於我在Chrome中。 – CodeCaster
在Firefox中也適用於我。問題在別的地方。 –
我在Internet Explorer和Firefox中遇到了同樣奇怪的行爲。它有時會在更改隱藏字段的名稱或ID後立即生效。但正如我在問題中說的,如果我從表單中刪除隱藏(或者我把它放在外面),它會顯示一些$ _POST數據發佈。否則它$ _POST是空的。 –