Я пытаюсь сделать запрос, в котором пользователь должен ввести число в диапазоне от 1 до 4 (повторяется через цикл do-while, пока они не введут правильный номер), и этот номер будет соответствоватьслучай в выключателе (который откроет новое окно).При тестировании код выполняется правильно вплоть до моего оператора ELSE, где код внезапно «забывает» число, введенное пользователем для выхода из цикла while, и, следовательно, не вводит пользователя в код для каждого из случаев.в коммутаторе.
Тестирование: приглашение = ввод пользователя 5, новое приглашение: неверный выбор!пожалуйста, введите число от 1 до 4, пользовательский ввод 4, приглашение закрывается.
Кто-нибудь может понять, почему переменная reDirect в операторе IF не попадает в коммутатор?
Я приму любые предложения, но мне нужно предоставить пользователю «свободу» для ввода чисел, выходящих за пределы диапазона, чтобы доказать, что я могу обрабатывать ошибки.
Я пытался реализовать новые переменные в операторе if,но они тоже остаются вне выключателя, который замыкается.
function reDirect() {
var reDirect = 0;
reDirect = parseInt(prompt("Input number between 1 and 4", "1"));
if (reDirect >=5 || reDirect <=0) {
var reDirect = 0
do reDirect = parseInt(prompt("Invalid! Input number between 1 and 4", "1"));
while (reDirect >=5 || reDirect <=0);
}
else
{
var element = document.getElementById("reDirect");
switch (reDirect) {
default:
break;
case 1:
window.open("URL","_blank","height=800px, width=800px");
break;
}
}
};