Как показать сообщение с предупреждением, если в течение 30 минут не используется поле формы с использованием javascript / jquery? - PullRequest
1 голос
/ 07 января 2012

У меня есть форма с парой полей ввода, и я хочу скрипт, который будет показывать всплывающее сообщение, если после определенного периода времени поле не используется, спрашивая: «Вы все еще там?» или что-то в этом роде.

Возможно ли это? Пожалуйста, совет, спасибо!

Ответы [ 2 ]

3 голосов
/ 07 января 2012

Вы захотите запустить таймер на тридцать минут и прикрепить событие change ко всем вашим полям. При изменении вы хотите стереть текущий таймер и создать новый еще на 30 минут.

Например, это будет что-то вроде этого:

$('input[type=text]').bind('change', function (e) {
    // .. Triggered every time a form text field is changed
    // .. Do stuff here
});

А для таймера вы просто используете settimeout

1 голос
/ 08 января 2012

Вот полный пример в JsFiddle:

Я рекомендую использовать setTimeOut для вызова метода, для которого вы хотите отобразить сообщение или сделатьвсе, что вы хотели сделать.Затем при изменении события на всех ваших типах входа попробуйте сбросить TimeOut.Вот код JS, который имитирует этот сценарий:

// Timer for 3 seconds to call formTimeOut function 
var _timer = setTimeout("formTimeOut()",3000);

$(function(){

    // Monitor Value change of Inputs in your HTML
    $("input").change(function(){

        // Clear previous timer 
        clearTimeout(_timer);
        // Reset the timer to re-run after 3 seconds.
        _timer = setTimeout("formTimeOut()",3000);

    });
});

// This is the function that will run after time out
function formTimeOut(){

    // Timeout Logic goes here
    alert("Are you there?");
}

Вы можете изменить $ («вход») на любой критерий, который может соответствовать вашему проекту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...