• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

Gandliar

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

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

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

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

alexas1

Green Team
10.04.2014
1 202
225
BIT
36
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
36
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
Вот спасибо! Работает!
 
Последнее редактирование:
Мы в соцсетях:

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