Уведомление о выходе из страницы, если не нажата кнопка отправки

В настоящее время в моем HTML у меня есть это, где, если пользователь пытается выйти из страницы перед заполнением любой формы, он выдаст всплывающую ошибку, спрашивающую, действительно ли пользователь хотел выйти из страницы.

Но я также получаю эту ошибку, когда я заставляю пользователя отправить страницу и закрыть страницу после того, как страница была отправлена.

Вот мой код JavaScript:

    var warning = true;
window.onbeforeunload = function() {  
  if (warning) {  
    return "If you leave this page uncompleted student will be marked as Abandon!";  
    }  
}

document.getElementById('StudentForm').submit(function() {
   window.onbeforeunload = null
    window.close;
});

Затем код формы HTML:

<form name=StudentForm id="StudentForm">

    <div class="DDbox">
        <select name="Action" id="ActionDD" required onchange="showHide()">
        <option value="">Action:</option>
        <option value="complete">Complete</option>
        <option value="abandon">Abandon</option>
        <option value="transfer">Transfer</option>
        </select>
    </div>
<br>
    <div class="COMPLETEbox" id="COMPLETEbox" >
        <input class="hidden-items" type="text" name="RemNUM" id="REMtextBox" placeholder="Remedy Number" min="1" maxlength="10" style="display:none;"/><br>

        <select class="hidden-items" name="Reason" id="ReasonDD" style="display:none;">
        <option value="">Reason:</option>
        <option value="NoShow">No Show</option>
        <option value="Unfixable">Unfixable</option>
        <option value="other">Other</option>
        </select><br><br>
        <br>
        <input type="submit" value="submit" id=submitButton>
    </div>
</form>

Код прямо сейчас работает при выходе из страницы. Часть, которую я не могу понять, это то, что нужно изменить, чтобы понять, что форма заполнена, и все в порядке, чтобы закрыть страницу.

Заранее спасибо за помощь!

1 ответ

Кстати, показ настраиваемого сообщения в диалоговом окне не поддерживается в Chrome, и вы не можете запретить человеку покинуть страницу.

Что касается вашей проверки, я предлагаю вам взглянуть на https://jqueryvalidation.org/.

Затем при отправке вы можете проверить, является ли форма действительной.

$('form').submit(function () {
    var valid = $(this).valid();
    // Do stuff.
});
Другие вопросы по тегам