我目前正在處理一個簡單的表單,用於將用戶輸入的信息存儲到數據庫。不活動的清除字段
表單將顯示在Kiosk的iPads上。
如果用戶走到窗體並開始填寫字段,但沒有完成並走開,我希望窗體字段爲下一個人清除。
這樣做的目的是防止某人走到一臺iPad上,其中有一半以前的用戶信息是從未提交過的。
我知道我必須使用Javascript,但我不知道從哪裏開始。
我目前正在處理一個簡單的表單,用於將用戶輸入的信息存儲到數據庫。不活動的清除字段
表單將顯示在Kiosk的iPads上。
如果用戶走到窗體並開始填寫字段,但沒有完成並走開,我希望窗體字段爲下一個人清除。
這樣做的目的是防止某人走到一臺iPad上,其中有一半以前的用戶信息是從未提交過的。
我知道我必須使用Javascript,但我不知道從哪裏開始。
我會說處理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);
在我看來,最好的辦法使用它的JavaScript定時事件。
這可以通過setTimeout()
和clearTimeout()
函數完成。然後在這些功能中,您可以處理輸入框document.getElementById("nameofElement")
,然後清除它們。
很好的例子,很容易跟着看: JavaScript Timing Events
希望這有助於。
爲什麼不在一段時間不活動後重新加載頁面?更安全的賭注。只需使用setTimeout
和clearTimeout
JavaScript函數即可在字段更新以重置定時器時實現此目的。使用setTimeout
重新加載頁面。這將確保頁面被重置。
我會重新加載頁面 - 更簡單的解決方案,並且在頁面被修改時不太容易出錯。 –
@EdHeal:我打算這麼做,但我記得有些瀏覽器保留了刷新時輸入的內容。我不知道iDevices是否會這樣做,因爲我沒有人試用它。 – Ryan
我認爲這是一個人可以防止這種情況。 –