Захватите время остановки секундомера JavaScript и сохраните его как переменную php - PullRequest
0 голосов
/ 04 апреля 2011

Я использую этот секундомер:

<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. Возможно ли это?

Спасибо за любую помощь

1 Ответ

3 голосов
/ 04 апреля 2011

Приправьте свой код немного 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();
...