как правильно реализовать ветку для ввода пароля?(начальный уровень)
Доброго дня всем!
В данный момент только начал изучать JavaScript, так что не судите строго. Суть такова: Написать код, который будет запрашивать логин пользователя (prompt). - Done Если посетитель вводит 'admin', то спрашивать пароль, если нажал отмена (escape) — выводить 'Canceled', если вводит что-то другое — 'Access denied'. - Done Пароль проверять так. Если введён пароль 'passw0rd', то выводить 'Welcome home!', иначе — 'Wrong password', при отмене — 'Canceled'. - Done Вопрос: как совместить эти два кода, что бы все было логично и последовательно, а не так как сейчас? Код: var login = prompt('Введите логин!'); if(login == 'admin'){ prompt('Введите пароль!'); } else if(login == null) { alert('Отмена'); } else { alert('В доступе отказано'); } var pass = prompt('Введите пароль!'); if(pass == 'passw') { alert('Welcome Home'); } else if(pass == null){ alert('Отмена'); } else { alert('Неверный пароль'); } http://jsbin.com/dodokesuje/edit?js,console |
WhoAm7i7,
Вообще-то логин-пароль обычно вводятся при помощи html http://htmlbook.ru/samhtml5/formy/pole-dlya-parolya а вот проверяться могут уже при помощи скрипта js - хотя обычно на сервере Кроме того, и сервер сам может запрашивать логин-пароль, например http://www.vsmirnov.ru/articles/passwords.html |
Dilettante_Pro, так задача ж учебная, наверно.
Я бы сделал так:
function checkCredentials(loginRequired, passwordRequired) {
switch (prompt('Введите логин')) {
case loginRequired:
break;
case null:
alert('Отмена');
return;
default:
alert('В доступе отказано');
return;
}
switch(prompt('Введите пароль')) {
case passwordRequired:
break;
case null:
alert('Отмена');
return;
default:
alert('Неверный пароль')
return;
}
alert('Welcome home');
}
checkCredentials('admin', 'passw0rd');
|
Erolast,
В таком случае я бы просто сделал так:
var login = prompt('Введите логин!');
if(login == 'admin'){
var pass = prompt('Введите пароль!');
if(pass == 'passw') {
alert('Welcome Home');
} else {
alert('Неверный пароль');
}
} else {
alert('В доступе отказано');
}
Но, на мой взгляд, начинать надо с html - js вторичное вспомогательное средство для html |
Цитата:
Учебная - ну так пусть проверяет верен ли ввод сравнивая введенной с контрольным вводом. Это нужно проверять и можно на клиенте. |
Цитата:
Цитата:
|
Erolast,
Цитата:
function checkCredentials(loginRequired, passwordRequired) {
switch (prompt('Введите логин')) {
case loginRequired:
break;
case null:
alert('Отмена');
return;
default:
alert('В доступе отказано');
return;
}
switch(prompt('Введите пароль')) {
case passwordRequired:
break;
case null:
alert('Отмена');
return;
default:
alert('Неверный пароль')
return;
}
alert('Welcome home');
}
checkCredentials('admin', 'passw0rd');
Попадете - Esc Но, кстати, в моем варианте это тоже не проблема:
var login = prompt('Введите логин!');
if(login == 'admin'){
var pass = prompt('Введите пароль!');
if(pass == 'passw') {
alert('Welcome Home');
} else if(pass == null){
alert('Отмена');
}else {
alert('Неверный пароль');
}
} else if(login == null) {
alert('Отмена');
} else {
alert('В доступе отказано');
}
|
Цитата:
|
Цитата:
|
Ребята благодарю, за готовые решения и варианты, с ваших комментов можно дополнительно обучаться! Все решения взял на заметку + доп.информацию от Laimas "Учить надо начинать с того, что веб приложение, это приложение с кучей ворот, и......." :thanks:
|
| Часовой пояс GMT +3, время: 21:47. |