2016-06-17 4 views
0

秒に0を入力すると、私のページにjavascriptタイマーがあります。問題は、ページを更新するときにタイマーが初期値から始まっていることです。ここでページ更新時のタイマーの問題

はjavascriptのコード

<script> 
    secs = 300; 
    timer = setInterval(function() { 
     var element = document.getElementById("status"); 
     element.innerHTML = "Remaining :<b>"+secs+" sec</b>"; 
     if(secs < 1){ 
      clearInterval(timer); 
      document.test.submit(); 
     } 
     secs--; 
    }, 1000); 

でこれを回避する方法はありますか?ページリロードを防止することで実現できます。それは可能ですか?

+0

これを永続化したい場合は、localStorageなどのタイプのストレージを使用して、ページの更新時にすべての値がリフレッシュされます。 – Ahtisham

+0

ページの再ロードを防止するための詳細情報があります.http://stackoverflow.com/questions/3527041/prevent-any-page-refresh-jquery-javascriptを使用しないでください – Ahtisham

答えて

1

あなたは(以前に提出し、動的に非表示のフォーム要素を追加することによって、例えば)フォームポストの一環として、現在のタイマ値を提出することができ、そして後にタイマの初期値として、この値を使用しますページリロード。

もう1つの可能性は、AJAXを使用してフォームを送信し、ページの更新が不要であることです。これを実現するには、jQuery ajax関数を調べることができます。 http://api.jquery.com/jquery.ajax/

これらの解決策のいずれかが問題ないとすれば、例を挙げることができます。

+0

最初の解決策の例を挙げることはできますか? – Hari