不活动时清除表单字段

时间:2012-01-26 17:22:52

标签: javascript forms

我目前正在开发一个将用户输入的信息存储到数据库的简单表单。

表格将显示在自助服务终端的iPad上。

如果用户走到表单并开始填写字段,但没有完成并离开,我希望表单字段为下一个人清除。

这样做是为了防止某人使用以前从未提交过的用户信息的一半用户登录iPad。

我知道我必须使用Javascript,但我不知道从哪里开始。

3 个答案:

答案 0 :(得分:2)

我会说处理keydown对象的window事件并保存当前时间。像这样:

var timerID = null;
var timeoutDuration = 60000; // Put the timeout duration here

window.addEventListener('keydown', function(e) {
    if(timerID !== null) {
        clearTimeout(timerID);
        timerID = null;
    }

    timerID = setTimeout(function() {
        // Clear all the fields here
    }, timeoutDuration);
}, false);

Here's a demo.

答案 1 :(得分:1)

为什么不在一段时间不活动后重新加载页面?更安全的赌注。只需使用setTimeoutclearTimeout JavaScript函数即可在更新字段以重置计时器时实现此目的。使用setTimeout重新加载页面。这将确保页面重置。

请参阅ReloadJavaScript timing

答案 2 :(得分:0)

在我看来,最好将它用于javaScript计时事件。

这可以通过setTimeout()clearTimeout()函数完成。然后在这些函数中,您可以处理输入框document.getElementById("nameofElement"),然后清除它们。

很容易理解的好例子见: JavaScript Timing Events

希望这有帮助。