Как избежать ошибки со split()
Здравствуйте, есть код:
var nameUser = ''; // циклируем пока кнопка "отмена" НЕ нажата while(nameUser != null){ nameUser = prompt("Введите ваше Имя и Фамилию через пробел").split(' '); if(nameUser[1] !== undefined){ var param1 = nameUser[0]; var param2 = nameUser[1]; var param3 = getDateNow(); var newObject = new User(param1,param2,param3); new UserList().add(newObject); } else{ alert("Между Имя и Фамилия должен быть пробел"); } } new UserList().getAllUsers; После нажатия кнопки отмена выходит ошибка "Uncaught TypeError: Cannot read property 'split' of null", Как написать код, чтобы если nameUser == null, то сплитование уже не происходило бы? |
var v; if(v = prompt('Text')) { alert(v.split(' ')) } else alert('Cansel') |
решил так:
while(eUser != null){ eUser = prompt("Введите ваше Имя и Фамилию через пробел",""); if(eUser != null){ var nameUser = eUser.split(' '); if(nameUser[1] !== undefined){ var param1 = nameUser[0]; var param2 = nameUser[1]; var param3 = getDateNow(); var newObject = new User(param1,param2,param3); var twoObj = new UserList(); twoObj.add(newObject); } else{ alert("Между Имя и Фамилия должен быть пробел"); } } else{ new UserList().getAllUsers(); } } |
Зачем? Куда больше пользы было бы, если бы к простому да еще добавить trim().
|
а зачем trim(), он же обрезает пробелы. А по условию задачи prompt() должен принимать Имя Фамилию через пробел, а в объекте потом должен храниться как Имя отдельно, фамилия отдельно. Или я вопроса вашего не понял
|
Цитата:
А нормальные пацаны получают структурированные данные отдельными полями формы, ибо так легче контролировать и ввод, и проверять условия. |
Цитата:
|
Часовой пояс GMT +3, время: 10:25. |