Confirm в цикле

Подскажите, как сделать, чтобы окно confirm выскакивало, пока нажимаем "Ok"? а когда жмем "отмена", тогда только закрывалось. Пытался сделать, но что-то он выскакивает в цикле постоянно

do {
    confirm("test");
} while (confirm != null);

Ответы (2 шт):

Автор решения: Zdarova

Ну глядите) Давайте посмотрим на код который вы написали.

do {
    confirm("test");
} while (confirm != null);

Мы видим инструкцию

выполнять {
    вызвать confirm("test");
} до тех пор пока (confirm != null);

confirm - это метод. Он не будет равен null. Но тут проблема даже не только в этом. Confirm показывает окошко с кнопками Ok и Cancel. Если в этом окошке вы нажимаете на OK то метод confirm вернёт true, если нажать на Cancel - то метод confirm вернёт false. Именно на это вам нужно опираться при проверке условия в while.

Для этого вам нужно сначала это самое true или false вернуть из confirm и сохранить в переменную и уже её проверять в условии.

Просто попробуйте опираясь на то что я написал выше понять этот код. Он работает:

do {
  var answer = confirm("test");
} while (answer === true);

→ Ссылка
Автор решения: Qwertiy

do {
} while(confirm("Continue?"))

→ Ссылка