【问题标题】:Page exit notification unless submit button is clicked除非单击提交按钮,否则页面退出通知
【发布时间】:2016-09-15 20:24:59
【问题描述】:

目前在我的 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>

代码现在在退出页面时有效。我想不通的部分是要更改哪些代码才能确定表格已填写并且关闭页面是“确定”。

提前感谢您的帮助!

【问题讨论】:

  • “如果您离开此页面,该学生将被标记为已放弃。您确定吗?”

标签: javascript html forms onbeforeunload


【解决方案1】:

顺便说一句,在对话框中显示自定义消息是deprecated on Chrome,您不能阻止此人离开页面。

至于你的验证,我建议你看看jQuery Validation

然后在提交时您可以检查表单是否有效。

$('form').submit(function () {
    var valid = $(this).valid();
    // Do stuff.
});

【讨论】:

    猜你喜欢
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    相关资源
    最近更新 更多