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

+19
1.22K
Сейчас я расскажу вам как сделать в поле "пароль" проверку на раскладку клавиатуры пользователя. Пример мы все можем видеть на яндексе при входе в почту с главной страницы — при вводе пароля кириллицей выскакивает красная подсказка "смените раскладку".
Оригинальный скрипт я взял прямо с яндекса и считаю его очень полезным, тем более при его небольшом размере.
Сам скрипт выглядит следующим образом:
  1.  
  2. <script type="text/javascript">
  3. function checkPass(value){
  4. if (value.match(/[а-яА-Я]/) != null){
  5. document.getElementById('mail-err').style.display='block'; }
  6. else {
  7. document.getElementById('mail-err').style.display='none'; } }
  8. </script>
  9.  
Его нужно вставить на страницу 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 вставить следующий див:
  1. <div id="mail-err" style="display: none;" align="center">смените раскладку</div>
В конечном итоге должны получить следующее:
  1.  
  2. <td valign="top"><input name="pass" type="password" id="pass" onkeyup="checkPass(this.value)" size="15" />
  3. <div id="mail-err" style="display: none;" align="center">смените раскладку</div></td>
  4.  
Последним штрихом будет добавление стиля для этого блока в файл .css вашего шаблона
  1.  
  2. #mail-err{
  3. position:relative;
  4. padding:3px 0;
  5. color:#f00
  6. }
  7.  
После сохранения все должно работать: при вводе пароля кириллицей сразу выскакивает красная надпись "смените раскладку"
Иллюстрация
Можете скачать все файлы в этом архиве
0
Димитриус Димитриус 12 лет назад #
А может вместо надписи смени раскладку писать язык? Рус Инг и Капс лок
Та как пароль может быть и на русском
0
Alteste Alteste 12 лет назад #
Ну это уже кому как нравится, но я лично не встречал паролей на русском.
0
Димитриус Димитриус 12 лет назад #
Как ты его встретишь? Ты часть спрашиваешь какие пароли у твоих друзей?=) А вот действительно фраза смени раскладка мне кажется будет вводить в заблуждение...
0
Alteste Alteste 12 лет назад #
Попробуй зарегистрироваться в яндексе/гуглу/мейле/рамблере и других популярных сервисах с русским паролем - вот это я и имею ввиду. Пароль на латинице - это мировой стандарт
0
Рачей Рачей 10 лет назад #
ха ха....
0
L.B.Griffin L.B.Griffin 12 лет назад #
ммм.. как вам пароль?

gfhjkm
пароль

?
+1
maia maia 10 лет назад #
Мелочь, а сколько нервов сбережет!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.