#javascript #jquery
#javascript #jquery
Вопрос:
В принципе, я хотел бы выполнить отправку формы при перезагрузке.
Итак, у меня есть следующий код:
$('form').submit(function() {
$(window).unbind("beforeunload");
});
$(window).bind("beforeunload", function() {
$('#disconnectform').submit();
});
В принципе, я хочу, чтобы disconenctform отправлялся только при перезагрузке, а не при отправке. Однако, $('#disconnectform').submit()
похоже, что форма не работает. Есть идеи, почему? Как я могу достичь того, чего я хочу?
Комментарии:
1. Чего вы на самом деле пытаетесь здесь достичь? Привязка обработчика событий к window.unload для отправки формы кажется немного халтурной.
2. @Andrew Whitaker Я в основном хочу предупредить сервер, чтобы он аннулировал сеанс, когда пользователь перезагружает браузер или выходит из него.
Ответ №1:
При перезагрузке браузер не поддерживает данные сеанса. Как следствие, когда вы нажимаете обновить, данные в форме могут не сохраниться. Большинство браузеров выдадут вам предупреждение о повторной отправке формы при попытке этого. Некоторые браузеры вообще не справляются с этой ситуацией.
Это не ответ на ваш вопрос, потому что я считаю, что вам нужно переосмыслить свой дизайн.
Удачи
-tjw
Ответ №2:
Если вы действительно хотите достичь этого, используйте плагин jquery cookie. Затем при загрузке страницы запустите функцию, если установлен файл cookie. 🙂