Как избежать ошибки со 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, время: 07:05. |