EDIT: Мой вопрос отличается от «предположительно дубликата», потому что моя проверка того, как не запускать событие при нажатии ссылки, другой вопрос заключается в том, как обнаружить изменения в форма.Проверьте, не нажата ли ссылка на JavaScript
Я использую функцию (taken from here), чтобы обнаружить любые изменения, внесенные в форму, перед тем как покинуть страницу, это прекрасно работает, но также срабатывает, когда я нажимаю кнопку «Сохранить», когда я использую событие onbeforeunload
для запуска и я хочу, чтобы это не произошло, когда я нажимаю кнопку сохранения.
Вот мое событие:
window.onbeforeunload = function (e) {
e = e || window.event;
if (formIsDirty(document.forms[0])) {
// For IE and Firefox
if (e) {
e.returnValue = "You have unsaved changes.";
alert("You have unsaved changes.");
}
// For Safari
return "You have unsaved changes.";
alert("You have unsaved changes.");
}
};
Как я могу предотвратить это событие от стрельбы, когда эта конкретная сохранить ссылку щелкают?
Ссылка:
<a id="ctl00_ContentPlaceHolder1_lbtnSave" href='/save'>
<img id="ctl00_ContentPlaceHolder1_Image5" class="imgvalign" src="../../images/icons/save.gif"> Save
</a>
Возможного дубликат [обнаруживать несохраненные изменения] (HTTP: //stackoverflow.com/questions/155739/detecting-unsaved-changes) – Mathletics
Ответ на ваш вопрос на самом деле связан с вашим вопросом. Вам нужно отслеживать это состояние формы и использовать обработчик кликов на кнопке сохранения, чтобы обновить это состояние. – Mathletics
Нет, это не так, пожалуйста, покажи мне ответ? – user3574492