目前在我的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>
退出页面时,代码现在正常工作。我无法弄清楚的部分是要改变什么来代码,弄清楚表格已填写完毕,并且它是&#34; OK&#34;关闭页面。
提前感谢您的帮助!
答案 0 :(得分:0)
顺便说一下,在对话框中显示自定义消息为deprecated on Chrome,您无法阻止此人离开该页面。
关于您的验证,我建议您查看jQuery Validation。
然后在提交时,您可以检查表格是否有效。
$('form').submit(function () {
var valid = $(this).valid();
// Do stuff.
});