Javascript 自动点击功能连续点击提交按钮

Javascript 自动点击功能连续点击提交按钮,javascript,php,html,Javascript,Php,Html,我已经在我的表单上设置了自动点击功能。我只想自动点击提交按钮一次。但我的代码一直在点击提交按钮。由于我的网页是不断自动重新加载 我只想按一下按钮。我该怎么做 <form action="" method="POST"> <input type="text" size="80" name="url" value="https://drive.google.com/file/d/<?php echo $_GET['id']; ?>/view"/>

我已经在我的表单上设置了自动点击功能。我只想自动点击提交按钮一次。但我的代码一直在点击提交按钮。由于我的网页是不断自动重新加载

我只想按一下按钮。我该怎么做

<form action="" method="POST">
        <input type="text" size="80" name="url"  value="https://drive.google.com/file/d/<?php echo $_GET['id']; ?>/view"/>
        <input type="submit" id="btn" value="PLAY" name="submit" />
    </form>

<script>
window.onload = function(){
document.getElementById('btn').click();
}
</script>


您可以使用localstorage确定是否已提交表单,并基于此值提交表单

window.onload = function(){
    if (localStorage.formSubmitted !== 'true') {
        localStorage.setItem("formSubmitted", "true");
        document.getElementById('btn').click();
    }
}

您还可以在第一次单击按钮时将其存储在localstorage中。在执行click事件之前,请检查存储是否已设置。像这样:

window.onload = function() {
    if (!localStorage.getItem('buttonClicked')) {
        localStorage.setItem('buttonClicked', 'true');
        document.getElementById('btn').click();
    }
}

给出的两个答案都很好,但是用户可以操纵和弄乱这些存储的会话项,因此允许操纵验证

为了避免用户干扰您的验证,您可以检查表单是否已在PHP中发布。这在处理敏感用户信息时尤为重要

<?php if(!isset($_POST['submit'])) { ?>
<script>
   window.onload =  function ()
    {
        document.getElementById('btn').click();     
    }
</script>
<?php } ?>

window.onload=函数()
{
document.getElementById('btn')。单击();
}

我相信按钮被点击,然后页面被重新加载,所以它被一次又一次点击。考虑定义表单的“动作”,以便它将用户发送到另一个页面,或者使用PHP检查表单是否被张贴,如果是的话,不要打印JavaScript代码。在PHP中设置一个标志,并使用它作为一个开关。您的代码工作,但它只工作一次。当我用diff id打开url时,它就不工作了。谢谢,您的代码可以工作,但在同一个浏览器上只能工作一次。如果我用相同的代码打开其他url,则它不起作用是的,这仅适用于您的浏览器,您没有在回答中指定它是否应在服务器上本地保存没有问题,如果这是最佳答案,请随意将其勾选为正确答案。这个答案更侧重于保持验证更安全。