2017-09-13 2 views
1

Ich arbeite an Online-Quiz-System mit PHP und MySQL, die eine Frage nach der anderen zeigt und diese Frage eingereicht wird, zeigt es die zweite und so weiter. Ich möchte verhindern, dass der Schüler die Prüfungsseite verlässt, indem er auf die Schaltfläche "Zurück" oder "Schließen" klickt. Ich habe versucht, den folgenden Code:Alarm auf Zurück-Taste klicken Sie in einem PHP-Projekt

window.onbeforeunload = function (e) { 
    var message = "Your confirmation message goes here.", 
    e = e || window.event; 
    // For IE and Firefox 
    if (e) { 
    e.returnValue = message; 
    } 

}; 

Es alarmiert wirklich die Schüler, wenn er die Zurück-Schaltfläche klickt oder die Seite schließen, aber es gibt auch eine Warnung, wenn der Schüler die erste Frage ist die Einreichung des zweiten anzuzeigen. Hat jemand eine Idee, wie man dieses Problem löst ???

+0

einfach deaktivieren Sie die Event-Handler vor einreichen genannt. Abonnieren Sie daher den Ereignishandler für das Senden, entfernen Sie onbeforeunload, und fahren Sie mit dem normalen Übergabeablauf fort. – ficuscr

Antwort

0
if (e) { 
    e.returnValue = message; 
    } 

Sie müssen das Ereignis validieren. Halten Sie eine ID für die Schaltfläche "Senden/Weiter" bereit und versuchen Sie, das Ereignis zu bestätigen. Angenommen, Sie haben eine id "Eintragen", um die Submit-Button

if (e.target.id !== 'submit') { 
    e.returnValue = message; 
    } 
Verwandte Themen