Javascript 如何监控用户在html的输入文本字段中输入数据所需的时间

Javascript 如何监控用户在html的输入文本字段中输入数据所需的时间,javascript,html,Javascript,Html,我是编程新手 我正在编写的程序有一个html页面,其中有许多输入文本框。我正在做的研究是关于用户如何输入数据 我曾尝试使用“点击拾取时间”用户输入文本框。然而,我们刚刚发现不能在javascript函数中存储来自的值。可变时间。尝试放入bean和getParameter,但两者都不起作用 有没有人能解决这个问题 需要一种方法最终将用户按每个文本框的名称向每个文本框输入数据的时间存储到一个平面文本文件中 谢谢Onfocus设置开始时间,onblur设置完成时间并计算差值。将结果值存储在隐藏字段中。

我是编程新手

我正在编写的程序有一个html页面,其中有许多输入文本框。我正在做的研究是关于用户如何输入数据

我曾尝试使用“点击拾取时间”用户输入文本框。然而,我们刚刚发现不能在javascript函数中存储来自的值。可变时间。尝试放入bean和getParameter,但两者都不起作用

有没有人能解决这个问题

需要一种方法最终将用户按每个文本框的名称向每个文本框输入数据的时间存储到一个平面文本文件中


谢谢

Onfocus设置开始时间,onblur设置完成时间并计算差值。将结果值存储在隐藏字段中。提交表单时,读取服务器上的隐藏值


当用户聚焦、模糊和重新聚焦文本框时,不要忘记用例

很快就把它组合起来了。这有一个变量,它将保存每个表单的所有数据(按名称和上次时间)。它使用上次聚焦的时间来计算它在模糊上聚焦的时间量

var Status = {};

var focusHandler = function() {
    var name = this.name;
    console.log("Focus", name, Status[name]);
    if (!Status[name]) Status[name] = {
        total: 0,
        focus: Date.now()
    }
    else Status[name].focus = Date.now();
}
var blurHandler = function() {
    var name = this.name;
    if (Status[name]) {
        Status[name].total += Date.now() - Status[name].focus;
    }
}

// You don't have to attach them this way, it's just for example

var inputs = document.getElementsByTagName('input');

for (var i = 0, l = inputs.length; i < l; i++) {
    inputs[i].onfocus = focusHandler;
    inputs[i].onblur = blurHandler;
}
var Status={};
var focusHandler=函数(){
var name=this.name;
日志(“焦点”、名称、状态[名称]);
如果(!Status[name])Status[name]={
总数:0,
焦点:Date.now()
}
else Status[name].focus=Date.now();
}
var blurHandler=函数(){
var name=this.name;
如果(状态[名称]){
状态[名称].total+=Date.now()-状态[名称].focus;
}
}
//你不必这样附加它们,只是举个例子
var inputs=document.getElementsByTagName('input');
对于(变量i=0,l=inputs.length;i

您可以发布一些您尝试过的代码吗?您当然可以将内容存储在Javascript函数的变量中。也许你可以展示你的代码,我们可以帮助你找出问题所在。这是一条与你的具体问题无关的建议——我会使用
onfocus
而不是
onclick
。前者将在字段变为“活动”时触发,而不管它是如何发生的,后者只有在用鼠标点击时才会发生。就我个人而言,我通常在字段之间进行制表,而不是使用鼠标,这不会触发任何单击事件。