подсказка для редактирования JavaScript - PullRequest
1 голос
/ 28 июля 2010

Я создаю веб-приложение, в котором мне нужно показать приглашение на редактирование, когда пользователь хочет перейти со страницы.

Я хочу показать это только тогда, когда пользователи отредактировали какое-то значение на этой странице, и он не сохраняет изменения, после чего появится запрос «Сохранить изменения?» В противном случае, если он сохранен, подсказка не появится.

Редактирование запроса, аналогичного MICROSOFT WORD / EXCEL, для информирования вас о внесении изменений и о желании продолжить.

Пожалуйста, дайте решение быстро?

Ответы [ 3 ]

1 голос
/ 28 июля 2010

Вы можете использовать onbeforeunload: https://developer.mozilla.org/en/DOM/window.onbeforeunload

Однако поддержка ограничена, поскольку она основана на том, что придумано Microsoft, а другие просто скопировали его.Невозможно делать то, что вы хотите, в браузерах, которые не поддерживают это событие.

1 голос
/ 28 июля 2010

Скопировано из моего ответа на первую копию этого вопроса: Редактирование подсказки в 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();">
0 голосов
/ 28 июля 2010

Вы можете поместить слушателя для любых изменений в полях формы. При изменении чего-либо вы можете установить грязный флаг. После сохранения вы можете сбросить то же самое.

Однако, обратитесь к jQuery. Это может быть что-то встроенное.

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