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

Тема в разделе "Lotus - Xpages", создана пользователем Mitya, 27 авг 2012.

  1. Mitya

    Mitya Well-Known Member

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

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

    Zeka Well-Known Member

    Регистрация:
    1 сен 2009
    Сообщения:
    219
    Симпатии:
    0
    Чё-то намудрил с request, view, session scopes.


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

    Mitya Well-Known Member

    Регистрация:
    13 июн 2012
    Сообщения:
    111
    Симпатии:
    0
    что-то не ловит... нашел еще с dojo (http://stackoverflow.com/questions/9145536/xpages-onkeypress-event-not-trigerring-click-properly)
    и тоже не ловит Enter...
    а можно вставить msg какой-то в (thisEvent.keyCode==13) {.... , чтобы понять ловит он кнопку или нет?
     
  4. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
  5. Mitya

    Mitya Well-Known Member

    Регистрация:
    13 июн 2012
    Сообщения:
    111
    Симпатии:
    0
    Плагин хороший, Спасибо!
    Пока не понял, как там увидеть ловит он кнопку "Enter" или нет.
     
  6. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    открыть окошко девелопера в хроме или firebug (кнопка есть) в ФФ
    а там - сообщения консоли смотреть
     
  7. -master-

    -master- Well-Known Member

    Регистрация:
    14 янв 2012
    Сообщения:
    629
    Симпатии:
    19
    Это зря.
     
  8. Mitya

    Mitya Well-Known Member

    Регистрация:
    13 июн 2012
    Сообщения:
    111
    Симпатии:
    0
    а как?
    Появилась идея по нажатию в поле на Enter - кликать на кнопку. Так лучше?

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

    Вложения:

    • Enter.JPG
      Enter.JPG
      Размер файла:
      6,6 КБ
      Просмотров:
      119
  9. -master-

    -master- Well-Known Member

    Регистрация:
    14 янв 2012
    Сообщения:
    629
    Симпатии:
    19
    Выше сказали как.
     
  10. Mitya

    Mitya Well-Known Member

    Регистрация:
    13 июн 2012
    Сообщения:
    111
    Симпатии:
    0
    Так я в в Server Side Повесил действия (1, 2)
    1) sessionScope.nameToSearch = requestScope.nameToSearch
    2)Открывает страницу
    :) - не работает.
     
  11. -master-

    -master- Well-Known Member

    Регистрация:
    14 янв 2012
    Сообщения:
    629
    Симпатии:
    19
    Server Side в вашем случае должен обрабатывать только сабмит, остальное не его дело.
     
  12. Mitya

    Mitya Well-Known Member

    Регистрация:
    13 июн 2012
    Сообщения:
    111
    Симпатии:
    0
    эээ... вообще не в теме я (как, что, где)

    а если поизвращаться...

    if (thisEvent.keyCode==13) {
    dojo.byId("#{id:searchButton}").click();
    }else{
    return false;
    }
     
  13. -master-

    -master- Well-Known Member

    Регистрация:
    14 янв 2012
    Сообщения:
    629
    Симпатии:
    19
    Так и где тут сервер?
     
  14. Mitya

    Mitya Well-Known Member

    Регистрация:
    13 июн 2012
    Сообщения:
    111
    Симпатии:
    0
    ну, тут сервера нет =)... т.к. я еще не знаю, как заставить сервер выполнять все, что делает searchButton

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

    Mitya Well-Known Member

    Регистрация:
    13 июн 2012
    Сообщения:
    111
    Симпатии:
    0
    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
     
  16. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    я не понял - это сервер-сайд скрипт?
     
  17. Mitya

    Mitya Well-Known Member

    Регистрация:
    13 июн 2012
    Сообщения:
    111
    Симпатии:
    0
    как я понял, из (http://www.mindwatering.net/SupportRef.nsf/83438dfabcd4ddc385256d150061a1eb/8bddf736b8334ab8852579790000662c!OpenDocument)
    это Client Script

    или я неправильно понял, или он действительно не работает.
     
  18. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    а просто открыть исходный код страницы, в браузере и увидеть или не увидеть свой код?:)
     
  19. Mitya

    Mitya Well-Known Member

    Регистрация:
    13 июн 2012
    Сообщения:
    111
    Симпатии:
    0
    не понял :)... исходный код вижу... и?
     
  20. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    есть в нем строки JS, кот. выше?
     

Поделиться этой страницей