2016-12-12 4 views
0

Plsのを提出し、リフレッシュ私はそれがこのフォームを送信し、一度だけページをリロードするすべての10秒自動一度

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

    function submitform(){ 

     document.forms["myForm"].submit(); 
    } 

    function autoRefresh(){ 
     clearTimeout(auto); 
     auto = setTimeout(function(){ submitform(); autoRefresh(); }, 10000); 
    } 
} 
</script> 
+0

フローを制御するには、変数boolを使用します。 –

+0

いくつかのコードを付けることはできますか?ありがとう – Joe

答えて

1

ローカルストレージを使用して、ページが初めて読み込まれているかどうかを確認できます。

$(function() { 
    var canSubmit = localStorage.getItem("can_submit"); 
    if(!canSubmit) { 
     // first time loaded! 
     document.forms['myForm'].submit(); 
     localStorage.setItem("can_submit","1"); 
     window.location.reload(); 
    }else{ 
     //You can remove it if needed 
     localStorage.removeItem("can_submit"); 
    } 
}); 
+0

ページを更新して停止しません – Joe

+0

申し訳ありません。私は自分の答えを編集しました。 elseステートメントでローカルストレージアイテムの削除をラップする必要があります。 – Medard

3
window.onload = function() { 
    if (window.location.hash !== '#done') { 
     document.forms['myForm'].submit() 

     window.location.hash = 'done' 

     window.location.reload() 
    } 
} 

を提出し、リフレッシュし、一度だけではないにしたいこれを修正するのに役立ちます。 hashは既にURLが送信されているかどうかを確認します。

+0

私はすでにこのページを繰り返し更新しようとします – Joe

+0

これは、ページがリロードされたときにスクリプトが再度実行されるためです。 'onload'で動いている間は、ループし続けます。 – alizahid

+0

ええ、私はそれが一度だけ動作するように変更できるかどうか尋ねている理由は何ですか – Joe

関連する問題