Хочется сделать "защиту от дурака" при работе менеджеров с заполнением текстовых полей
Можно ли как то реализовать такую функцию:
При вводе в поле фамилия проверять
(по выходу из поля / по введению пробела)
Если введены латинские символы - заменять их на соответствующие русские,
а русские в свою очередь делать первую буку большую, остальные маленькие
Реализовывал давным давно подобное на фокспро через массивы всех букв и простым перебором каждого введеного символа.
а вот с Js у меня туго.
Наверняка кто-то реализовывал подобное .
Простой контроль ввода по форматированию я разумеется сделал и пользователь не может ввести не то что нужно, но это как вы понимаете немного не то. Хотелось бы автоматизации.
Заранее спасибо
1
Авторедактирование текстовых полей JS
Автор ManFree, 07 марта 2014 20:56
Сообщений в теме: 4
#1
Отправлено 07 Март 2014 - 20:56
#2
Отправлено 12 Март 2014 - 12:55
Собственно , правдами неправдами родил следующий код:
Вопрос в следующем,
в переменной fff - то что мне сейчас нужно подставить в строку, которую я собственно и редактирую, после ухода на след строку
Вопрос как это сделать?
Кодеры помогите
function onchange_{$one_field.id}() { finde = document.getElementById('value2670').value; var abc1="йцукенгшщзхъфывапролджэячсмитьбюё'qwertyuiop[]asdfghjkl;'zxcvbnm,.`QWERTYUIOP[]ASDFGHJKL;'ZXCVBNM,.`ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁ'" var abc2="йцукенгшщзхъфывапролджэячсмитьбюёйцукенгшщзхъфывапролджэячсмитьбюёйцукенгшщзхъфывапролджэячсмитьбюёйцукенгшщзхъфывапролджэячсмитьбюё" var fff="" var i = 0; while (i<finde.length) { c=(abc2.charAt(abc1.indexOf(finde.charAt(i))-1)); fff=fff+c; i++; } alert(fff); } addHandler(document.getElementById('value2670'), 'onchange', onchange_{$one_field.id});
Вопрос в следующем,
в переменной fff - то что мне сейчас нужно подставить в строку, которую я собственно и редактирую, после ухода на след строку
Вопрос как это сделать?
Кодеры помогите
Сообщение отредактировал ManFree: 12 Март 2014 - 13:40
#3
Отправлено 12 Март 2014 - 14:26
document.getElementById('value2670').value = fff;
Не это?
#4
Отправлено 12 Март 2014 - 17:05
Вы гений ))) а я не знаю JS
Вот выкладываю полный код функции вдруг кому пригодится
Функция, вне зависимости от того, на каком языке пользователь набирает текст, с капсом или нет, преобразует текст в соответствии с расположением букв на клавиатуре к виду
первая буква большая остальные маленькие.
А также автоматически записывает его в поле редактирования после ухода указателя с него.
Согласен код далеко не оптимален но работает. (первая попытка)
Вот выкладываю полный код функции вдруг кому пригодится
Функция, вне зависимости от того, на каком языке пользователь набирает текст, с капсом или нет, преобразует текст в соответствии с расположением букв на клавиатуре к виду
первая буква большая остальные маленькие.
А также автоматически записывает его в поле редактирования после ухода указателя с него.
Согласен код далеко не оптимален но работает. (первая попытка)
function onchange_{$one_field.id}() { finde = document.getElementById('value2670').value; var abc1="йцукенгшщзхъфывапролджэячсмитьбюёЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁQWERTYUIOP[]ASDFGHJKL;'ZXCVBNM,.`qwertyuiopasdfghjklzxcvbnm" var abc2="йцукенгшщзхъфывапролджэячсмитьбюёйцукенгшщзхъфывапролджэячсмитьбюёйцукенгшщзхъфывапролджэячсмитьбюёйцукенгшщзфывапролдячсмить" var fff="" var i = 0; while (i<finde.length) { c=(abc2.charAt(abc1.indexOf(finde.charAt(i)))); fff=fff+c; i++; } finde = fff; i=0; abc1="йцукенгшщзхъфывапролджэячсмитьбюё"; abc2="ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁ"; var f1 = (abc2.charAt(abc1.indexOf(finde.charAt(0)))); var f2 = finde.substr(1,finde.lenght); fff= f1 + f2; if (fff!="Й") { document.getElementById('value2670').value = fff; } else { document.getElementById('value2670').value = ""; } } addHandler(document.getElementById('value2670'), 'onchange', onchange_{$one_field.id});
Сообщение отредактировал ManFree: 13 Март 2014 - 17:59
#5
Отправлено 12 Март 2014 - 18:15
Цитата
Вы гений ))) а я не знаю JS
Да ладно вам, это же итак очевидно, исходя из вашего же кода, в частности первой же строки функции. Просто вы не сообразили сами, бывает.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных