Проверка входящих данных PROMPT
Есть часть кода . Для дружественных посиделок.
ВОПРОС: как для первого ПРОМПТа сделать проверку данных? Например ЕСДИ СТРОКА ПУСТАЯ, NULL, ДЛИННА > 2 и ВВЕДЕНА НЕ ЦИФРА, то должно выводится собщение НЕКОРЕКТНО ВВЕДЕНЫ ДАННЫЕ и заново задаться этот вопрос, если все ок, то продолжение работы скрипта. пробовал через if (kol != null && koll.lenght>2){вставлял часть кода где вопро КА ЗОВУТ ГОСТЕЙ}else {i = i -1 НЕ ЗНАЮ ЧТО ПРИДУМАТЬ} Это вообще возможно сделать с этим кодом, вертел как мог уже, или надо лазейки искать и другие пути? ЗАРАНЕЕ СПАСИБО, МОЖЕТ КТО ПОМОЖЕТ и второй вопрос там где 18 строка можно задать условие что if true то спрашивает какая цена else false то просто продолжается работа НАДЕЮСЬ СМОГ ОБЬЯСНИТЬ ПРОБЛЕМУ 'use strict'; var array = []; let kol = +prompt("Сколько человек Вас было сегодня?", 'Введите цифру'); for (let i = 0; i < kol; i++) { let name = prompt("Как зовут гостей?"); array.push(name); } console.log(kol); console.log(array); var mass = array.map(function(item){ return +prompt('На сколько поел ' + item + ' ?'); }) console.log(mass); let vopros = confirm('Заказывали кальян'); if (vopros == true) { var zaKalyan = +prompt('Цена за кальян'); showKaliyan(); } else if (vopros == false) alert('Молодцы') function showKaliyan(){ let kalyan = []; for ( let i = 0; i < array.length; i++) { let otvet = confirm(array[i] + " курил кальян?"); kalyan.push(otvet); }; alert(kalyan); kalyan.forEach(function(item, i){ if (item == true){ console.log( array[i] + ',' + ' курил кальян.'); } else if (item == false){ console.log( array[i] + ',' + ' не курил кальян.'); }; }); let skolkoKyriloChelovek = 0; for (var i = 0; i < kalyan.length; i++) { if(kalyan[i] == true) skolkoKyriloChelovek++; } console.log('Количество людей куривших кальян: ' + skolkoKyriloChelovek ); let zaKalyanSCheloveka = zaKalyan / skolkoKyriloChelovek; console.log('За кальян с человека: ' + zaKalyanSCheloveka); kalyan.forEach(function(item, i){ if (item == true){ console.log(array[i] + ',' + ' должен: ' +(mass[i] + zaKalyanSCheloveka)); } else if (item == false){ cpnsole.log( array[i] + ' ' +' не курил.' + 'За еду: ' + mass[i]); }; }); } var result = mass.reduce(function(sum, current){ return sum + current; },0 ); alert("Общий счет должен быть: " + result) |
demi379,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [html run] ... минимальный код страницы с вашей проблемой [/html] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
да, спасибо, отредактировал. Но если вставляю часть кода, то он не запускается, не знаю в чем причина
|
demi379,
let kol; do { kol = prompt("Сколько человек Вас было сегодня?", 'Введите цифру'); } while (isNaN(+kol) || kol === null || +kol < 1 || +kol > 99) kol = Number(kol); alert(kol); |
спасибо большое.
подскажите пожалуйста kol = Number(kol); Number что собой представляет? ГУГЛ явно не то выдает, что здесь подразумевается а 2 вопрос , можно ли все таки сделать чтобы если true то задается цена а если false (CANCEL) то что бы просто шли следующие шаги безо всяких действий, мол если нажал CANCEL то на else даже внимание не акцинтируется let vopros = confirm('Вопрос'); if (vopros == true) { var zaKalyan = +prompt('Цена?'); showKaliyan(); } else if (vopros == false) alert('Молодцы') |
Цитата:
https://javascript.ru/NUMBER |
Цитата:
if (vopros){...} Цитата:
if (!vopros){...} |
Цитата:
let vopros = confirm('Вопрос'); if (vopros) { var zaKalyan = +prompt('Цена?'); } alert('Следующие шаги...'); |
спасибо:)
|
Часовой пояс GMT +3, время: 23:01. |