2016-05-19 12 views
0

私はカウントダウンタイマー付きのオンライン試験のテストプロジェクトを持っています。私は開始時刻(フォームが開かれるとき)と終了時刻(submitボタンをクリックするとき)を持っています。私の問題は、私はデータベースに開始時間を保存することはできません。どのようにそれを解決するには?フォームを開いたときのJavaScriptのカウントダウンタイマーの値から時間を節約するにはどうすればいいですか?

<script type="text/javascript"> 
 
\t var hoursleft = 0; 
 
\t /*get value from database*/ 
 
\t var minutesleft = <?php echo $menit->alat_waktu ?>; 
 
\t var secondsleft = 0; 
 
\t var finishedtext = "SELESAI"; 
 
\t var end1; 
 
\t if(localStorage.getItem("end1")) 
 
\t { 
 
\t \t end1 = new Date(localStorage.getItem("end1")); 
 
\t } 
 
\t else 
 
\t { 
 
\t \t end1 = new Date(); 
 
\t \t end1.setHours(end1.getHours()+hoursleft); 
 
\t \t end1.setMinutes(end1.getMinutes()+minutesleft); 
 
\t \t end1.setSeconds(end1.getSeconds()+secondsleft); 
 
\t } 
 

 
var counter = function() { 
 
\t var now = new Date(); 
 
\t var datediff = end1 - now; 
 

 
\t diff = new Date(datediff); 
 

 
\t var milliseconds = parseInt((diff%1000)/100) 
 
    var sec = parseInt((diff/1000)%60) 
 
    var mins = parseInt((diff/(1000*60))%60) 
 
    var hours = parseInt((diff/(1000*60*60))%24); 
 
\t if(hours < 10) { 
 
\t \t hours = "0" + hours; 
 
\t } 
 
\t if (mins < 10) { 
 
\t \t mins = "0" + mins; 
 
\t } 
 
\t if (sec < 10) { 
 
\t \t sec = "0" + sec; 
 
\t }  
 
\t if(now >= end1) {  
 
\t \t clearTimeout(interval); 
 
\t \t localStorage.setItem("end1", null); 
 
\t \t localStorage.removeItem("end1"); 
 
\t \t document.getElementById('divCounter').innerHTML = finishedtext; 
 
\t \t 
 
\t \t if(confirm("TIME OUT !!!")) 
 
\t \t clearInterval(counter); 
 
\t \t window.location.href= "http://localhost/psiko"; 
 
\t \t document.getElementById('myform').submit(); 
 
\t } else { 
 
\t \t var value = hours + ":" + mins + ":" + sec; 
 
/*--------save variable value to db----------*/ 
 
/*save countdown timer when form is opened*/ 
 
// document.myform.waktu_awal.value = end1; 
 
/*save countdown timer when submit button is clicked*/ 
 
\t \t document.myform.waktu_akhir.value = value; 
 
/*------------------------------------------------*/ 
 
\t \t localStorage.setItem("end1", end1); 
 
\t \t document.getElementById('divCounter').innerHTML = value; 
 
\t } 
 
} 
 

 
var interval = setInterval(counter, 1000); 
 
</script>

waktu_awalはSTART_TIMEとwaktu_akhirあるEND_TIME

+0

でこれを行いますか? –

+0

フォームを開始時刻として開いたときと、フォームを終了時刻として送信するときの時間を節約したい –

+0

"document.myform.waktu_akhir.value = value;"で終了時刻を保存できました。私はまだ変数の値を保存するための開始時間として混乱させた –

答えて

-2

あなたが隠し入力を作成することができ、タイマーのようになりますがjavascript/jqueryを使用して、その隠された入力に時間を開始し、あなたが提出する際に設定することができますを開始しますフォームはあなたがその時間を得てデータベースに保存することができます。あなたがフォームを送信すると、データベース...で時間を節約したい場合は

0

私はすでに私のスクリプト

$waktu_awal = $_POST; 
    $waktu_akhir = $_POST; 
    echo "<td> <input type=\"hidden\" name=\"waktu_awal\" value=\"".$waktu_awal."\"></td>"; 
    echo "<td> <input type=\"hidden\" name=\"waktu_akhir\" value=\"".$waktu_akhir."\"></td>"; 
0

var value = hours + ":" + mins + ":" + sec; 
 
/*--------menyimpan nilai variabel ke db----------*/ 
 
/*save countdown timer when form is open*/ 
 
\t \t document.myform.waktu_awal.value = <--- which variable value should I write in here as my start time? 
 
/*save countdown timer when submit*/ 
 
\t \t document.myform.waktu_akhir.value = value; 
 
/*------------------------------------------------*/

関連する問題