使用JavaScript自动提交表单

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (95)
<form name="myForm" id="myForm" action="test.php" method="POST">
  <p>
  <input name="test" value="test" />
  </p>
  <p>
    <input type="submit" name="submit" value="Submit" />
  </p>
</form>

    <script>

    var auto_refresh = setInterval(
    function()
    {
    submitform();
    }, 10000);

    function submitform()
    {
      alert('test');
      document.myForm.submit();
    }
    </script>

尝试在登录页面后每10秒自动提交一次表单时遇到问题。表单名称是myForm action="test.php"。我收到'test'消息,但该页面未提交表单。

除了在页面加载时自动加载功能以外的任何解决方案?

name="submit"从提交按钮中删除(),它工作顺利。

提问于
用户回答回答于

你需要指定一个框架,一个目标,否则你的脚本将在首次提交时消失!

更改document.myFormdocument.forms["myForm"]

<form name="myForm" id="myForm" target="_myFrame" action="test.php" method="POST">
    <p>
        <input name="test" value="test" />
    </p>
    <p>
        <input type="submit" value="Submit" />
    </p>
</form>

<script type="text/javascript">
    window.onload=function(){
        var auto = setTimeout(function(){ autoRefresh(); }, 100);

        function submitform(){
          alert('test');
          document.forms["myForm"].submit();
        }

        function autoRefresh(){
           clearTimeout(auto);
           auto = setTimeout(function(){ submitform(); autoRefresh(); }, 10000);
        }
    }
</script>
用户回答回答于

尝试使用document.getElementById("myForm")而不是document.myForm。

<script>
var auto_refresh = setInterval(function() { submitform(); }, 10000);

function submitform()
{
  alert('test');
  document.getElementById("myForm").submit();
}
</script>

扫码关注云+社区

领取腾讯云代金券