Хочется сделать "защиту от дурака" при работе менеджеров с заполнением текстовых полей
Можно ли как то реализовать такую функцию:
При вводе в поле фамилия проверять
(по выходу из поля / по введению пробела)
Если введены латинские символы - заменять их на соответствующие русские,
а русские в свою очередь делать первую буку большую, остальные маленькие
Реализовывал давным давно подобное на фокспро через массивы всех букв и простым перебором каждого введеного символа.
а вот с Js у меня туго.
Наверняка кто-то реализовывал подобное .
Простой контроль ввода по форматированию я разумеется сделал и пользователь не может ввести не то что нужно, но это как вы понимаете немного не то. Хотелось бы автоматизации.
Заранее спасибо
Авторедактирование текстовых полей 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 анонимных













