Alteste

Автор блога: Alteste
Все рубрики (1)

Модификация модуля авторизации

Сейчас я расскажу вам как сделать в поле "пароль" проверку на раскладку клавиатуры пользователя. Пример мы все можем видеть на яндексе при входе в почту с главной страницы - при вводе пароля кириллицей выскакивает красная подсказка "смените раскладку".
Оригинальный скрипт я взял прямо с яндекса и считаю его очень полезным, тем более при его небольшом размере.
Сам скрипт выглядит следующим образом:
Код PHP:
<script type="text/javascript">
function checkPass(value){ 
if (value.match(/[а-яА-Я]/) != null){ 
document.getElementById('mail-err').style.display='block'; } 
else { 
document.getElementById('mail-err').style.display='none'; } }
</script>
Его нужно вставить на страницу template.php вашего шаблона. Вообще всем советую не засорять лист такими вот вкраплениями мелких скриптов, а создать один файл, скажем myscript.js и писать туда все свои скрипты, а подключить одной строкой <script type="text/javascript" src="/путь_к_папке/myscript.js"></script>
Далее нужно изменить шаблон модуля mod_auth.tpl, который находится в папке /templates/_default_/modules/ следующим образом:
в поле input где прописан id="password" вставить событие onkeyup="checkPass(this.value)" а после закрытия тега input вставить следующий див:
Код PHP:
<div id="mail-err" style="display: none;" align="center">смените раскладку</div>
В конечном итоге должны получить следующее:
Код PHP:
            <td valign="top"><input name="pass" type="password" id="pass" onkeyup="checkPass(this.value)" size="15" />
			<div id="mail-err" style="display: none;" align="center">смените раскладку</div></td>
Последним штрихом будет добавление стиля для этого блока в файл .css вашего шаблона
Код PHP:
#mail-err{
	position:relative;
	padding:3px 0;
	color:#f00
	}
После сохранения все должно работать: при вводе пароля кириллицей сразу выскакивает красная надпись "смените раскладку"

Можете скачать все файлы в этом архиве