捕获的JavaScript秒表停止时间并将其存储为PHP变量
问题描述:
我使用这个秒表:捕获的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变量一起插入到我们的数据库中。这可能吗?
感谢您的任何帮助
答
用一些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();
嗨Fabrik,感谢您对此我将有一个AJAX的阅读。不好意思,但你能提供一个快速的代码,可以做到这一点,所以我可以环顾四周,并从中学习? – 2011-04-04 09:39:56