Предотвращение потери данных формы путем перехода от страницы

Я создаю datagrid с сотнями строк, которые содержат флажок в каждой строке, чтобы пользователь мог выбрать элемент из сетки.

теперь пользователь может потратить много времени на фильтрацию / поиск по сетке и галочки необходимых флажков, только чтобы случайно нажать клавишу backspace на клавиатуре или щелкнуть гиперссылку на странице. И они потеряют все свои флажки.

Итак, я хочу представить некоторые функции при этом, если хотя бы один флажок был отмечен, то если пользователь непреднамеренно делает действие, которое будет перемещаться от страницы, то отображается сообщение подтверждения JavaScript, чтобы уведомить Пользователя об этом.

флажки будут принадлежать к одной группе, например, это будет называться "продукты".

возможно ли это вообще?

1 ответов


есть beforeunload событие, которое происходит, когда пользователь переходит: http://jsfiddle.net/FprNV/1/.

возврат строки приводит к появлению сообщения с двумя кнопками (stay / navigate); точная реализация этого диалога отличается в разных браузерах.

$(window).bind('beforeunload', function() {
    var checkboxcount = $("input:checkbox:checked").length;
    if(checkboxcount > 0) {
        return 'Are you sure?';
    }
});