Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.08.2010, 22:24
Интересующийся
Отправить личное сообщение для dimiork Посмотреть профиль Найти все сообщения от dimiork
 
Регистрация: 13.10.2009
Сообщений: 18

Динамическое поле для ввода пароля в форме авторизации
Доброго времени суток! У меня есть код:
$('#user_input').change(function() { if ($(this).val() == 'user') $('#pass_input').show(); });



цель - получить динамическое поле для ввода пароля в форме.
На странице авторизации есть форма с одним единственным полем Логин. Затем пользователь вводит Логин и, если это логин совпадает с задуманным ['user'] то JS делает видимой второе поле формы для ввода пароля, в противном случае вылезет какой-нибудь document.writ() и уведомит что неверный логин.

Код сверху мне подсказал один хороший человек, но как прикрутить его к HTML форме я не знаю. Поэтому буду рад любой помощи!

UPD: ничего страшного же: document.write("<b>Неверый логин</b>");
да и это не суть важно. Интересует лишь как реализовать данную идею с динамическим (hide/show) полем пароля. Благодарю.
Предвижу замечания о том, что это не решает вопроса безопасности сообщаю, что это лишь форма(обертка) к полноценному скрипту авторизации.

Последний раз редактировалось dimiork, 31.08.2010 в 23:13.
Ответить с цитированием
  #2 (permalink)  
Старый 31.08.2010, 22:44
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от dimiork Посмотреть сообщение
вылезет какой-нибудь document.writ() и уведомит что неверный логин.
Выглядит устрашающе, я уже боюсь.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #3 (permalink)  
Старый 31.08.2010, 23:24
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Gozar Посмотреть сообщение
Выглядит устрашающе, я уже боюсь.
Действительно


<input type="text" id="user" value="" />
<input type="text" id="pass" value="" />


На выбор два варианта:

JavaScript "как есть":
window.onload = function(){
	var password = document.getElementById('pass');
	password.style.display = 'none';
	document.getElementById('user').onchange = function(){	
		password.style.display = (this.value == 'admin') ? 'block' : 'none';
	};
};


jQuery:
$(document).ready(function(){
	$('#user').change(function(){
		if($(this).val() == 'admin'){
			$('#pass').show();
		}
	});
});



А вообще, этот код далеко не полный т.к. такие действия требуют приминения AJAX и как минимум знаний серверной части...
Ответить с цитированием
  #4 (permalink)  
Старый 01.09.2010, 09:24
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

Хороший способ снизить безопасность паролей )) Была двухфакторная аутентификация, а стала какая-то не такая
Ответить с цитированием
  #5 (permalink)  
Старый 02.09.2010, 00:57
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Как-то здесь уже мелькало
Уже как-то моё подобное предложение здесь высмеяли. Теперь вижу, не один я такой...
Но в целом, Ваш вопрос очень интересен. Надо будет на досуге попробовать...
Ответить с цитированием
  #6 (permalink)  
Старый 02.09.2010, 09:36
Кандидат Javascript-наук
Отправить личное сообщение для MadGest Посмотреть профиль Найти все сообщения от MadGest
 
Регистрация: 12.07.2010
Сообщений: 123

Да без ajax тут никак. Предлагаю такой вариант. Предварительно создать элемент для ввода пароля и установить ему hide. По событию keyup для поля ввода, при помощи ajax посылать строку Login скрипту который будет проверять её по базе данных если такой логин будет найден то ajax вернет например 1. А в функцию обработки удачного запроса кинуть функцию которая при 1 покажет элемент ввода пароля, а при 0 строку "Логин не найден". Удобнее будет сделать на jQuery. (PS. Лично мое мнение)
Ответить с цитированием
  #7 (permalink)  
Старый 02.09.2010, 09:43
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

Я все-таки хочу от автора услышать ответ, зачем ему упрощать подбор паролей в разы? При стандартном подходе мы имеет произведение вариантов, а при таком сумму.
__________________
Не хочешь, чтобы тебя послали? Не спрашивай куда идти.
Ответить с цитированием
  #8 (permalink)  
Старый 02.09.2010, 10:35
Кандидат Javascript-наук
Отправить личное сообщение для MadGest Посмотреть профиль Найти все сообщения от MadGest
 
Регистрация: 12.07.2010
Сообщений: 123

Лови....

<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script>
jQuery.noConflict();
jQuery(document).ready(function($){
		
	//Начало JQuery функций ----------------
	$('#password').hide();  //изначально скрывает поле ввода пароля

			$("#login").keyup(function(){ 
					var login = $("#login").attr('value'); 					
					$('#password').hide();
					
						if (login == "admin")
						{  
							$("#password").show();
							$('#error').hide();						
							
						}else
						{	
							$("#password").hide; $('#error').html("Неверый логин"); 									
						}
			}); 
	});
</script>


<input type="text" id="login" name="lodin" size="20">
<input type="text" id="password" name="password" size="20">

<div id="error">
</div>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
спрятать/показать поле ввода при нажатии на checkbox g1r Элементы интерфейса 34 16.12.2017 00:34
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
Позиционирование курсора в поле ввода spider84 Элементы интерфейса 1 22.07.2010 13:03
Поле ввода специальных символов alexsexystayl Серверные языки и технологии 1 06.11.2009 21:29
трабл с перехватом некоторых символов в поле ввода barbiturat Events/DOM/Window 5 28.08.2008 14:32