So habe ich eine Funktion, die prompt
s Benutzer für einen Wert (element0
) und vergleicht diesen Wert mit einem bereits vorhandenen (elementIJ.name
). Dieser Teil funktioniert OK, aber hier kommt die problematische Wendung: Ich möchte die Funktion etwas anderes tun, wenn die prompt
abgebrochen wird (entweder durch Klicken auf Abbrechen oder Drücken der Esc-Taste, aber stattdessen sieht es aus wie die Funktion beendet wird . Ich habe Tests unter Verwendung alert
ausgeführt, aber die Idee ist, tatsächlich andere Dinge zu tun. Hier ist mein Code:Javascript Aufforderung Abbrechen beendet Funktion
var element0 = prompt('Enter element name').toUpperCase() ;
if (element0 == null || element0 == '' || element0 == false || !element0) { alert('ALERT!') ; }
while (element0 !== elementIJ.name.toUpperCase())
{
element0 = prompt('Try again').toUpperCase() ;
if (element0 === null || element0 === '' || element0 === false) { alert('ALERT!') ; }
}
// ... do things for element0 === elementIJ.name.toUpperCase()
Wie gesagt, das Bit ohne die if
Aussagen funktioniert OK, es ist nur das prompt
Cancelling, das nicht. Ich habe im Internet nach Antworten gesucht, aber es scheint, dass die meisten Leute das genaue Gegenteil von meinem Problem haben: dass sie wollen, dass das Abbrechen die Funktion beendet ... Also, was mache ich falsch?
Danke!
Wenn Wenn Sie die Eingabeaufforderung abbrechen, wird "null" zurückgegeben und "toUpperCase()" wird fehlschlagen, wodurch eine Ausnahme ausgelöst und die Ausführung Ihrer Funktion beendet wird. –
Sie sollten die Konsole immer auf Fehler überprüfen, wenn etwas nicht funktioniert. – forgivenson
Danke, Frédéric, das war genau das Problem :) Verzeihung, könnten Sie mir sagen, wie das geht? Ich habe damit vor ein paar Wochen angefangen und mache jetzt meine Tests mit Brackets für das Schreiben und Chrome für das eigentliche Testen. –