2011-04-04 64 views
0

我使用這個秒錶:捕獲的JavaScript秒錶停止時間並將其存儲爲PHP變量

<script language="JavaScript" type="text/javascript"> 
window.onload = function() 
{ 
    stopwatch('Start'); 
} 

<!-- 
var sec = 0; 
var min = 0; 
var hour = 0; 
function stopwatch(text) { 
    sec++; 
    if (sec == 60) { 
    sec = 0; 
    min = min + 1; } 
    else { 
    min = min; } 
    if (min == 60) { 
    min = 0; 
    hour += 1; } 

if (sec<=9) { sec = "0" + sec; } 
    document.clock.stwa.value = ((hour<=9) ? "0"+hour : hour) + " : " + ((min<=9) ? "0" + min : min) + " : " + sec; 

    if (text == "Start") { document.clock.theButton.value = "Stop "; } 
    if (text == "Stop ") { document.clock.theButton.value = "Start"; } 

    if (document.clock.theButton.value == "Start") { 
    window.clearTimeout(SD); 
    return true; } 
SD=window.setTimeout("stopwatch();", 1000); 
} 

function resetIt() { 
    sec = -1; 
    min = 0; 
    hour = 0; 
    if (document.clock.theButton.value == "Stop ") { 
    document.clock.theButton.value = "Start"; } 
    window.clearTimeout(SD); 
} 
// --> 
</script> 

,並想抓住時間的時鐘停止,然後將其存儲爲一個PHP變量這樣我就可以將其與其他PHP變量一起插入到我們的數據庫中。這可能嗎?

感謝您的任何幫助

回答

3

用一些AJAX調好你的代碼。函數內部resetIt()將當前時間戳傳遞給您的PHP腳本。

jQuery有一個堅實的AJAX部分和很好的文檔與例子。

(假設jQuery的加載,啓動並運行)

function resetIt() { 
    $.ajax({ 
    url: 'your.php', 
    success: function(response){ 
     alert(response); 
    } 
    }); 
    sec = -1; 
    min = 0; 
    hour = 0; 
    if (document.clock.theButton.value == "Stop ") { 
    document.clock.theButton.value = "Start"; } 
    window.clearTimeout(SD); 
} 

your.php(因爲所有你需要保存實際的時間戳,我們將不會傳遞到PHP的一部分的任何變量。如果您需要添加特定的變量(來自JS),你可以添加它們,當然)

if(mysql_query("INSERT INTO `database` (`stopped`) VALUES (NOW())")) { 
    echo 'success'; 
} else { 
    echo 'failed'; 
} 
die(); 
+0

嗨Fabrik,感謝您對此我將有一個AJAX的閱讀。不好意思,但你能提供一個快速的代碼,可以做到這一點,所以我可以環顧四周,並從中學習? – 2011-04-04 09:39:56

相關問題