Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JavaScript值获取到变量中_Javascript_Php - Fatal编程技术网

将JavaScript值获取到变量中

将JavaScript值获取到变量中,javascript,php,Javascript,Php,我14岁的儿子正在做一个科学项目,研究反应时间和年龄。他正在建立一个小的网络应用程序来测试人们——当一个页面被加载时,一个计时器启动,停止按钮出现延迟(本例中为4秒)。当他们单击停止按钮时,计时器停止。 到目前为止,他在所有这些方面都做得很好。他正在使用他找到的一段JavaScript,并根据自己的需要对其进行了修改。 他的问题-如何将停止的时间传递到变量中,然后将其传递到另一个页面。如果变量是静态的,他就能够成功地做到这一点 函数stop()有什么问题;在这个例子中?他当前获得一个[objec

我14岁的儿子正在做一个科学项目,研究反应时间和年龄。他正在建立一个小的网络应用程序来测试人们——当一个页面被加载时,一个计时器启动,停止按钮出现延迟(本例中为4秒)。当他们单击停止按钮时,计时器停止。 到目前为止,他在所有这些方面都做得很好。他正在使用他找到的一段JavaScript,并根据自己的需要对其进行了修改。
他的问题-如何将停止的时间传递到变量中,然后将其传递到另一个页面。如果变量是静态的,他就能够成功地做到这一点 函数stop()有什么问题;在这个例子中?他当前获得一个[object HtmlPanelment]

var clsStopwatch = function() {
    // Private vars
    var startAt = 0;    // Time of last start / resume. (0 if not running)
    var lapTime = 0;    // Time on the clock when last stopped in milliseconds

    var now = function() {
            return (new Date()).getTime(); 
        }; 

    // Public methods
    // Start or resume
    this.start = function() {
            startAt = startAt ? startAt : now();
        };

    // Stop or pause
    this.stop = function() {
            // If running, update elapsed time otherwise keep it
            lapTime = startAt ? lapTime + now() - startAt : lapTime;
            startAt = 0; // Paused
        };

    // Reset
    this.reset = function() {
            lapTime = startAt = 0;
        };

    // Duration
    this.time = function() {
            return lapTime + (startAt ? now() - startAt : 0); 
        };
};

var x = new clsStopwatch();
var $time;
var clocktimer;

function pad(num, size) {
var s = "0000" + num;
return s.substr(s.length - size);
}

function formatTime(time) {
var h = m = s = ms = 0;
var newTime = '';

h = Math.floor( time / (60 * 60 * 1000) );
time = time % (60 * 60 * 1000);
m = Math.floor( time / (60 * 1000) );
time = time % (60 * 1000);
s = Math.floor( time / 1000 );
ms = time % 1000;

newTime = pad(h, 2) + ':' + pad(m, 2) + ':' + pad(s, 2) + ':' + pad(ms, 3);
return newTime;
}

function update() {
$time.innerHTML = formatTime(x.time());
}

function start() {
$time = document.getElementById('time');
update();
clocktimer = setInterval("update()", 1);
x.start();
$(document).ready(function() { $('#mybutton').delay(4000).fadeIn(0);});
}

function stop() {
x.stop();
//var varTime = "Hello";
var varTime = document.getElementById('time');
    window.location.href = "somephpfile.php?etime=" + varTime;


}

如果只是读取元素本身,则需要读取元素的innerHTML。这可以通过以下方式实现:

function stop() {
x.stop();
//var varTime = "Hello";
var varTime = document.getElementById('time').innerHTML;
window.location.href = "somephpfile.php?etime=" + 
}

var varTime=document.getElementById('time')正在将元素分配给变量,这是一个不错的选择,但我相信您的儿子只需要该元素的HTML文本

有两种选择。第一个选项将
时间
元素保留在函数中,以便以后可能进行扩展

function stop() {
    x.stop();
    var varTime = document.getElementById('time');
    if (varTime) {
        window.location.href = "somephpfile.php?etime=" + varTime.innerHTML;
    }
}
或者只提取所需的文本并发送它-即使它是空的

function stop() {
    x.stop();
    if (document.getElementById('time')) {
        window.location.href = "somephpfile.php?etime=" + document.getElementById('time').innerHTML;
    }
}

只需尝试:
var varTime=document.getElementById('time').innerText您当前的varTime将返回一个对象(我认为是div或p)。必须使用.innerText来获取对象内的文本值:)。希望这对你有帮助。祝项目顺利。