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

时间:2011-07-08 14:37:02

标签: javascript html

我是编程新手,

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

我尝试使用点击来选择时间用户输入文本框。但是刚刚发现无法在javascript函数中存储值。可变时间。尝试放入bean和getParameter,但都没有工作。

有没有人有这方面的解决方案。

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

谢谢

2 个答案:

答案 0 :(得分:3)

快速将这一切鞭打在一起。这有一个变量,它将按名称和最后一次聚焦来保存每个表单的所有数据。它使用最后一次聚焦来计算它在焦点上的时间量,模糊。

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

http://jsfiddle.net/TjLab/

答案 1 :(得分:1)

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

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