Поле+кнопка+enter

  • Автор темы Mitya
  • Дата начала
M

Mitya

#1
Добрый день.
Имеется поле (nameToSearch) + кнопка, по нажатию на кнопку (1. sessionScope.nameToSearch = requestScope.nameToSearch 2.Открывает страницу)
Повесил все эти действия (1, 2) в событие (onchange) поля nameToSearch
Но, когда я фокус перевожу, страничка сбрасывает все по дефолту - чего не хотелось.
Как побороть?
т.е. я хочу, чтобы поиск и по кнопке и по нажатию на Enter в поле.

и еще, в поле всегда падает фокус при загрузке страницы
 

Zeka

Well-known member
01.09.2009
219
0
#2
Имеется поле (nameToSearch) + кнопка, по нажатию на кнопку (1. sessionScope.nameToSearch = requestScope.nameToSearch 2.Открывает страницу)
...
Но, когда я фокус перевожу, страничка сбрасывает все по дефолту - чего не хотелось.
Чё-то намудрил с request, view, session scopes.


А что б энтер отловить надо в onKeyPress в Client side добавить:
Код:
if (thisEvent.keyCode==13) {
return true;
}else{
return false
}
а в Server Side уже сам выполняющийся код.
 
M

Mitya

#3
Чё-то намудрил с request, view, session scopes.


А что б энтер отловить надо в onKeyPress в Client side добавить:
Код:
if (thisEvent.keyCode==13) {
return true;
}else{
return false
}
а в Server Side уже сам выполняющийся код.
что-то не ловит... нашел еще с dojo (http://stackoverflow.com/questions/9145536/xpages-onkeypress-event-not-trigerring-click-properly)
и тоже не ловит Enter...
а можно вставить msg какой-то в (thisEvent.keyCode==13) {.... , чтобы понять ловит он кнопку или нет?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#6
открыть окошко девелопера в хроме или firebug (кнопка есть) в ФФ
а там - сообщения консоли смотреть
 
M

Mitya

#8
а как?
Появилась идея по нажатию в поле на Enter - кликать на кнопку. Так лучше?

Кнопку Enter отлавливает =)))) тока осталось понять что и куда писать... в Server Side Повесил действия (1, 2)... похоже зря
 

Вложения

-master-

Well-known member
14.01.2012
616
12
#11
Server Side в вашем случае должен обрабатывать только сабмит, остальное не его дело.
 
M

Mitya

#14
ну, тут сервера нет =)... т.к. я еще не знаю, как заставить сервер выполнять все, что делает searchButton

поэтому, пытаюсь хоть как-то сделать. Вот и пытаюсь запустить кнопку поиска по нажатию Enter в поле...
 
M

Mitya

#15
Events --> Key --> onkeydown --> Client --> Execute Script

if (thisEvent.keyCode==13) {
thisEvent.preventDefault();
var btnm = '#{id:searchButton}';
var btnobj = document.getElementById(btnm);
if (btnobj != null) {
btnobj.click();
}
}
:) - что за... (не работает)

Error while executing JavaScript action expression
Script interpreter error, line=1, col=22: [ReferenceError] 'thisEvent' not found
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#16
я не понял - это сервер-сайд скрипт?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#18
а просто открыть исходный код страницы, в браузере и увидеть или не увидеть свой код?:)
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#20
есть в нем строки JS, кот. выше?