Автор: Morpheus 6:11:2007, 11:47
не так давно была тема про ]]>http://forum.codeby.net/go.php?http://forum.codeby.net/topic17295.html]]>
Теперь я нагло перековырял лежащую там базу и зделал перехват нажатия Enter в поле в клиете Нотес
с помощтю JavaScript
Описание
Принцип действия
1. Пользователь заходит в поле( onFocus - Client ) и мы передаем параметр текущего поля в процедуру на JS. Запускаем мониторинг
// Задаем параметры и начинаем мониторить символы
startListener(this);
2. Пока пользователь находиться в поле (
onBlur - Client ) продолжаем проверять вводимые символы
// Пока пользователь находиться в поле - продолжаем мониторим вводимые символы
if (checkCharCount())
this.focus();
else
stopListener();
3. В заголовке формы
JS Header - Client пишем большой код
CODE
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);
}
КоментарииВ поле мы должны заходить НЕ сразу при открытии формы, т.к. иначе не произойдет
onFocusЭто пробная версия, возможо чтото можно и улучшить
Автор
]]>http://forum.codeby.net/go.php?http://forum.codeby.net/user5807.html]]>
спасибо ]]>http://forum.codeby.net/go.php?http://forum.codeby.net/user9523.html]]> за моральную поддержку )
Обсуждение
]]>http://forum.codeby.net/go.php?http://forum.codeby.net/topic18246.html]]>