此代码:
<?php
if(isset($_GET['submit']))
{
?>
<head>
<script type="text/javascript">
document.getElementById('up').submit(); // SUBMIT FORM
</script>
</head>
<?php
}
?>
形式:
<form name="up" id="up" action="" method="post">
<textarea name="text" rows="40" cols="100"></textarea>
<input type="submit" name="ingameban" value="Save in-game banlist (Upload to server and make new bans take effect)" style="height: 64px; width: 550px;" />
</form>
一直循环,结果与粉碎重新加载按钮相同。当网址显示 ?submit=submit 时,它必须提交表单
如何解决这个问题?
谢谢
您的方法是正确的,但问题是 URL 中的submit=submit
被复制到用于提交表单的新 URL。因为在您的表格中,您有:
<form name="up" id="up" action="" method="post">
由于操作为空,因此使用完全相同的 URL,因此submit=submit
保留在 URL 中。相反,请提供正确的 URL。然后submit=submit
将不会复制到新 URL:
<form name="up" id="up" action="/my-url" method="post">
如何设置一个输入隐藏字段,您在提交时将其标记为 true。
在再次提交之前,请检查此字段。
试试这个:
<?php
if(isset($_GET['submit']))
{
if(isset($_GET['submitted']) && $_GET['submitted'] == 'false') {
?>
<head>
<script type="text/javascript">
document.getElementById('submitted').value = 'true';
document.getElementById('up').submit(); // SUBMIT FORM
</script>
</head>
}
<?php
}
?>
<body>
<form method="get" id="up">
<input type="hidden" id="submitted" name="submitted" value="false" />
...
</form>