Javascript / PHP自动提交不断提交表单

时间:2015-01-28 13:20:56

标签: javascript php

此代码:

<?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

如何解决这个问题?

由于

2 个答案:

答案 0 :(得分:1)

您的方法是正确的,但问题是网址中的submit=submit被复制到用于提交表单的新网址。因为在你的表格中你有:

<form name="up" id="up" action="" method="post">

由于操作为空,因此使用完全相同的网址,因此submit=submit会保留在网址中。相反,请提供正确的URL。然后submit=submit无法复制到新网址:

<form name="up" id="up" action="/my-url" method="post">

答案 1 :(得分:0)

如何设置输入隐藏字段,在提交时标记为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>