// 폼 변경시 alert let changedObj = ''; let result; let isNotUpdated = false; let changeListener = true; const formIds = ['form']; window.addEventListener('load', () => { loading(false); formIds.forEach(formId => { beforeLoad(formId); }); }); function beforeLoad(formId) { let formElement = document.getElementById(formId); if (formElement) { formElement.addEventListener('change', function (e) { addChangeListener(e); }); onBeforeChangePage(); } else { return null; } } function resetChanged() { result = null; isNotUpdated = false; } function resetChangeListener() { changeListener = false; } function addChangeListener(e) { result = ''; if (e.target.classList.contains('no-change')) { changeListener = false; } else if (changedObj !== '' && changedObj !== e.target && changeListener === false) { changeListener = true; } changedObj = e.target; isNotUpdated = true; } function onBeforeChangePage() { window.onbeforeunload = function () { if (changeListener && isNotUpdated) { loading(false); setTimeout(function () { changedObj.focus(); history.scrollRestoration; }, 1000); return result; } else { return null; } }; }