2016-09-15 3 views
0

Zur Zeit in meinem HTML habe ich es wo, wenn der Benutzer versucht, die Seite vor dem Ausfüllen eines Formulars zu beenden, wird es einen Pop-up-Fehler fragen, ob der Benutzer wirklich wollte Verlasse die Seite.Page exit notification es sei denn senden Schaltfläche wird geklickt

Aber ich bekomme auch diesen Fehler, wenn ich den Benutzer die Seite einreiche und die Seite schließen lasse, nachdem die Seite übergeben wurde.

Hier ist mein JavaScript-Code:

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; 
}); 

Dann wird der HTML-Formular-Code:

<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> 

Der Code jetzt funktioniert, wenn die Seite zu verlassen. Der Teil, den ich nicht herausfinden kann, ist, was man ändern muss, um herauszufinden, dass das Formular ausgefüllt ist und es "OK" ist, die Seite zu schließen.

Vielen Dank im Voraus für die Hilfe!

+0

"Wenn Sie diese Seite verlassen, wird dieser Student als aufgegeben markiert. Sind Sie sicher?" – Will

Antwort

0

Übrigens, zeigt eine benutzerdefinierte Nachricht im Dialogfeld ist deprecated on Chrome und Sie kann nicht verhindern, dass die Person die Seite verlassen.

Wie für Ihre Validierung, ich schlage vor, Sie sehen jQuery Validation.

Dann am Senden können Sie überprüfen, ob das Formular gültig ist.

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