Вход

Просмотр полной версии : Сообщение с просьбой остаться на странице


ToshuK
09.01.2015, 12:55
Здравствуйте! Есть скрипт:
function closeOrNot(e) {
if(!e) e = window.event;
e.cancelBubble = true;
e.returnValue = '';
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
}
window.onbeforeunload=closeOrNot;
Он задает вопрос при закрытии вкладки, действительно ли покинуть страницу. Но так-же он задает этот же вопрос при обновлении страницы или при отправке формы.

Помогите пожалуйста, можно ли как-нибудь убрать запрос на уход со страницы когда посетитель именно отправляет форму?

ruslan_mart
09.01.2015, 12:57
ToshuK, убери вообще это ерунду, только мешает. Такая штука полезна для каких-нибудь приложений, в которых сохраняются какие-то данные, которые могут быть утеряны при случайном закрытии вкладки.

ToshuK
09.01.2015, 17:21
Заказчик попросил поставить. Зачем ты меня грузишь полезно не полезно. Я попросил помощи, а не разъяснять для чего это и стоит ли его ставить:-E

ruslan_mart
09.01.2015, 17:33
ToshuK, ну извини, что загрузил тебя.

Я попросил помощи, а не разъяснять для чего это и стоит ли его ставить
Так я помог тебе советом. :)

Подобную тему постили около 1-2 недели назад, поищи, там есть решение. :)

Хотя, вот так думаю будет работать:

window.addEventListener('click', function(e) {
if(e.target.tagName == 'INPUT' && e.target.type = 'submit') {
this.onbeforeunload = null;
}
});

А лучше так:
window.addEventListener('submit', function(e) {
this.onbeforeunload = null;
}, true);

danik.js
09.01.2015, 20:42
дежавю )

ToshuK
10.01.2015, 13:35
Не, ни один из вариантов вообще не работает, даже на закрытие/перезагрузку страницы :(