• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Счетчик символов в поле

Gandliar

Lotus Team
16.02.2004
556
26
BIT
40
Здравствуйте!

Подскажите пожалуйста, как реализовать такую штуку

Пользователь в лотусе в форме вносит некий текст в поле, а в соседнем поле отображается количество введенных символов. Проблема в том, что хочется чтобы информация менялась по мере ввода/удаления символов.

Заранее благодарю!
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
37
1 для поля ввода использовать combobox с рефрешем на keyword change (тут и run exiting\on change event удобно использовать)
helper button можно леером прикрыть, для красоты
2 использовать JS timer для рефреша (или сразу JS-ом писать в нужное поле кол-во символов)
а зачем это (писать кол-во)? может просто директивно ограничить это кол-во (комбобоксом)?
 

Gandliar

Lotus Team
16.02.2004
556
26
BIT
40
В поле пользователь пишет описание. Длина поля должна быть не более например 185 символов.
Сейчас пользователь может писать сколько угодно, но при рефреше (или выходе из поля или сохранении) считается количество символов и выдает ся сообщение, если превысил. А хотелось бы динамично подсчитывать. отображать, и предупреждать пользователя при превышении.

таким образом пункт 1 не подходит. А как на js написать именно в лотусовом клиенте и чтобы работало - не хватает опыта. Вот поэтому хотелось бы какого примера.
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
37
write - поле, куда пишут
onBlur этого поля:
//перестаем проверять - если ушли из поля
clearInterval(intID);

onFocus этого поля:
varOld = f.write.value;
//проверяем поле каждые 100мс
intID = setInterval("checkField()",100);

не забываем установит JS для клиента

len - поле со счётчиком введённых символов

JS Header:
f = window.document.forms[0]
var intID = 0;
var valOld;
var valCurent;

function checkField () {
valCurent = f.write.value;
//действие, если изменили поле
if (valCurent != valOld) {
//алерт, если строка больше 30 и восстанавливаем значение
if (valCurent.length > 30 ) {f.write.value = valOld; alert("Чота много ))")}
f.len.value = valCurent.length; //пишем в len длину строки
valOld = valCurent
};
//intID = setInterval("checkField()",500);
}
 
  • Нравится
Реакции: Gandliar

Gandliar

Lotus Team
16.02.2004
556
26
BIT
40
Вот спасибо! Работает!
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!