Я создаю веб-приложение, в котором я должен показать подсказку редактирования, когда пользователь хочет перейти от страницы.
Я хочу только показать это, когда пользователи отредактировали некоторое значение на той странице, и он не сохраняет изменения затем, подсказка попросит, чтобы "Вы хотели сохранить изменения?". Иначе, если он сохранил затем подсказку, не появляется.
При редактировании подсказки, подобной MICROSOFT WORD / EXCEL, чтобы сообщить Вам, что Вы вносите изменения и, Вы хотите продолжить двигаться.
дайте решение быстро?
Скопировано из моего ответа на первую копию этого вопроса: Запрос на редактирование в javascript
Вам нужно будет использовать событие change
на всех ваших входы для обнаружения любых изменений, внесенных пользователем. Это событие не всплывает, поэтому вам нужно прикрепить его к каждому входу индивидуально. Затем вам нужно будет использовать событие beforeunload
в объекте window
, чтобы запросить пользователя.
<script type="text/javascript">
var anythingEdited = false;
function inputChanged() {
anythingEdited = true;
}
window.onbeforeunload = function(evt) {
if (anythingEdited) {
evt = evt || window.event;
evt.returnValue = "You have edited something. If you click OK, your changes will be lost.";
}
};
</script>
First name: <input type="text" id="firstName" name="firstName" onchange="inputChanged();">
Вы можете установить прослушиватель для любых изменений в полях формы. При изменении чего-либо вы можете установить грязный флаг. После сохранения вы можете сбросить то же самое.
Однако обратитесь к jQuery. В нем может быть что-то встроенное.
Вы можете использовать onbeforeunload
: https://developer.mozilla.org/en/DOM/window.onbeforeunload
Однако поддержка ограничена, поскольку она основана на изобретении Microsoft и других просто скопировал это. Невозможно делать то, что вы хотите, в браузерах, которые не поддерживают это событие.