Уведомление о выходе из страницы, если не нажата кнопка отправки
В настоящее время в моем 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.
});