0 / 0 / 0
Регистрация: 08.07.2005
Сообщений: 100
1

Отследить нажатие клавиши Enter в поле....

24.12.2007, 17:34. Показов 21555. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый День, возникла следующая задача.....
есть 2 текстовых поля(Заголовок и Тип) и кнопочка Найти, которая запускает поиск определенных документов в базе по реквизитам Загловок и Тип соотв.

Для простоты использования хотелось бы сделать следующим образом:
вводишь данные в поле Тип, нажимаешь ентер, фокус перескакивает в следующее поле(Заголовок),
заполняешь заголовок нажимаешь ентер, кликается кнопка найти.... т.е как бы такой переход по элементам дизайна.....


Вообщем реализовал пока так.....
1) в JSHeader формы:
=====================================================================

Код
var useClick;
var newline = String.fromCharCode(10);

var S1;
var CorrectS1;

var S2;
var CorrectS2;

function runSearch()
{
if (document.forms == null ) return;
if (document.forms[0].QsSubject == undefined ) return;

S1 = document.forms[0].QsSubject.value;
S2 = document.forms[0].QsNum.value;
if (S1.indexOf(newline)>=0)
{
CorrectS1= replace(S1, \n, );
document.forms[0].elements[QsNum].focus();
document.forms[0].QsSubject.value = CorrectS1;


flag=true;
}
if (S2.indexOf(newline)>=0)
{
CorrectS2= replace(S2, \n, );
document.forms[0].QsNum.value = CorrectS2;
document.forms[0].elements[Button_Search].click();
}
}

function replace(str, from, to)
{
var i = str.indexOf(from);
if (!from || !str || i == -1) return str;
var newstr = str.substring(0, i) + to;
if (i+from.length < str.length) newstr += replace(str.substring(i+from.length,str.length),from,to);
return newstr;
}
=====================================================================[
2)в полях Заголовок и тип, на событиях onFocus:

Код
useClick = window.setInterval("runSearch()",100);
3)в полях Заголовок и тип, на событиях onBlur:

Код
window.clearInterval(useClick)
Проблема в том, что если пользователь оставляет фокус в поле Заголовок или Тип и переходит на другой фрэйм, например почту проверить и т.д., работа таймера не прекращается так как не отрабатывает событие onBlur, и рано или поздно вываливается ошибка javaScript


можете в моем случае что-то посоветовать, может быть есть другие пути решения данной задачи?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2007, 17:34
Ответы с готовыми решениями:

Поле+кнопка+enter
Добрый день. Имеется поле (nameToSearch) + кнопка, по нажатию на кнопку (1....

Отследить нажатие клавиши Enter в FormKeyDown
Привет. На форме Label1 и Button1. Public Class Form1 Private r As New Random ...

Отловить нажатие клавиши tab и выполнить программное нажатие enter
Подскажите пожл как осуществить подобное действие, в принципе нажатие на клавишу enter я итак знаю...

Нажатие клавиши ENTER
Всем привет! ____________ Возможно ли реализовать имитацию нажатия клавиши в другом приложении?...

3
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
24.12.2007, 18:15 2
каждый изобретает велосипед...

Киньте на форму кнопочку пиксельного размера, поставте ей галочку Default и повесте на неё код, который будет устанавливать фокус на нужное Вам поле в зависимости от нужных Вам условий...
0
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
24.12.2007, 18:32 3
вообще всю жизнь использовали TAB для таких целей... но каждому свое :(
0
0 / 0 / 0
Регистрация: 08.07.2005
Сообщений: 100
25.12.2007, 16:24 4
Цитата Сообщение от Sandr
каждый изобретает велосипед...

Киньте на форму кнопочку пиксельного размера, поставте ей галочку Default и повесте на неё код, который будет устанавливать фокус на нужное Вам поле в зависимости от нужных Вам условий...

Боюсь, что это работает только в том случае если форма вызвана в модальном окне..........
0
25.12.2007, 16:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2007, 16:24
Помогаю со студенческими работами здесь

Нажатие клавиши enter
Нужно, чтобы по нажатию клавиши Enter цикл завершался, и началаось действие, что находится под...

Сымитировать нажатие клавиши ENTER
Есть у меня интерес сделать батник для захода на устройство через COM-порт и выполнения на нем...

Переопределить нажатие клавиши Enter
Есть QTextEdit, созданный через Qt Designer. Мне нужно для него переопределить нажатие клавиши...

Отследить нажатие конкретной клавиши
Здравствуйте! Нужна помощь. Как отследить нажатие стрелки на клавиатуре? Вернее, нет. Это -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru