开发者

Capture javascript stopwatch stop time and store it as php variable

I'm using this stopwatch:

<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>

and would like to capture the time that the clock is stopped on, and then store it as a PHP variable so that I can insert it into our database along with a load of other PHP variables. Is this possible?

Thanks for any help


Spice up your code with some AJAX. Inside of function resetIt() pass the current timestamp to your php script.

jQuery has a solid AJAX part and nice documentation with examples too.

(Assuming jQuery loaded, up and running)

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 (since all you need to save the actual timestamp we won't pass any variable to the PHP part. If you need to add specific variables (from JS) you can add them, of course)

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜