1. ホーム
  2. javascript

[解決済み] JavaScriptによる自動投稿フォーム

2022-02-15 02:46:05

質問

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