M
morpheus
не так давно была тема про Ограничение кол-ва вводимых символов в поле
Теперь я нагло перековырял лежащую там базу и зделал перехват нажатия Enter в поле в клиете Нотес
с помощтю JavaScript
Описание
Принцип действия
1. Пользователь заходит в поле( onFocus - Client ) и мы передаем параметр текущего поля в процедуру на JS. Запускаем мониторинг
2. Пока пользователь находиться в поле ( onBlur - Client ) продолжаем проверять вводимые символы
3. В заголовке формы JS Header - Client пишем большой код
[codebox]var listenField; // Само поле которое мы будем мониторить
total = 0; // длинна строки
/*
Начинаем мониторить то что нажимает юзверь
параметр один :
field -- Ссылка на поле, (используем "this" из события
onFocus или document.forms[0].fieldName)
Что бы запустить моиториг, в событии onFocus прописать
startListener(this);
*/
function startListener (field) {
listenField = field;
checkCharCount();
}
/*
Обнуляем переменные для того чтобы оставновить мониторинг
*/
function stopListener () {
listenField = null;
}
/*
Проверка на Enter
*/
function checkCharCount () {
// Раз поля нету - выходим
if (listenField == null)
return false;
total = parseInt( listenField.value.length ); // Берём длинну строки
ssymbol = listenField.value; // Берём строку
if ( total > 0 ) { // Если хоть чтото введено
if ( ssymbol.charCodeAt(total - 1) == 10 ) { // Если последний символ - Enter
var NoSimvol10 = ssymbol.substring( 0, total - 1 ); // Берём все символы кроме последнего
listenField.value = NoSimvol10; // Заменяем значение поля, на значение без Enter'a
document.forms[0].Myb.click(); // Кликаем на кнопке которая имеет id и Name - Myb
// return true;
}
}
// ждём 500 милисекунд
setTimeout("checkCharCount()", 500);
}[/codebox]
Коментарии
В поле мы должны заходить НЕ сразу при открытии формы, т.к. иначе не произойдет onFocus
Это пробная версия, возможо чтото можно и улучшить
Автор
link removed
спасибо link removed за моральную поддержку )
Обсуждение
тут
Теперь я нагло перековырял лежащую там базу и зделал перехват нажатия Enter в поле в клиете Нотес
с помощтю JavaScript
Описание
Принцип действия
1. Пользователь заходит в поле( onFocus - Client ) и мы передаем параметр текущего поля в процедуру на JS. Запускаем мониторинг
Код:
// Задаем параметры и начинаем мониторить символы
startListener(this);
2. Пока пользователь находиться в поле ( onBlur - Client ) продолжаем проверять вводимые символы
Код:
// Пока пользователь находиться в поле - продолжаем мониторим вводимые символы
if (checkCharCount())
this.focus();
else
stopListener();
3. В заголовке формы JS Header - Client пишем большой код
[codebox]var listenField; // Само поле которое мы будем мониторить
total = 0; // длинна строки
/*
Начинаем мониторить то что нажимает юзверь
параметр один :
field -- Ссылка на поле, (используем "this" из события
onFocus или document.forms[0].fieldName)
Что бы запустить моиториг, в событии onFocus прописать
startListener(this);
*/
function startListener (field) {
listenField = field;
checkCharCount();
}
/*
Обнуляем переменные для того чтобы оставновить мониторинг
*/
function stopListener () {
listenField = null;
}
/*
Проверка на Enter
*/
function checkCharCount () {
// Раз поля нету - выходим
if (listenField == null)
return false;
total = parseInt( listenField.value.length ); // Берём длинну строки
ssymbol = listenField.value; // Берём строку
if ( total > 0 ) { // Если хоть чтото введено
if ( ssymbol.charCodeAt(total - 1) == 10 ) { // Если последний символ - Enter
var NoSimvol10 = ssymbol.substring( 0, total - 1 ); // Берём все символы кроме последнего
listenField.value = NoSimvol10; // Заменяем значение поля, на значение без Enter'a
document.forms[0].Myb.click(); // Кликаем на кнопке которая имеет id и Name - Myb
// return true;
}
}
// ждём 500 милисекунд
setTimeout("checkCharCount()", 500);
}[/codebox]
Коментарии
В поле мы должны заходить НЕ сразу при открытии формы, т.к. иначе не произойдет onFocus
Это пробная версия, возможо чтото можно и улучшить
Автор
спасибо
Обсуждение
тут