как правильно реализовать ветку для ввода пароля?(начальный уровень)
Доброго дня всем!
В данный момент только начал изучать 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:50. |