Событие нажатия кнопки поиска - PullRequest
1 голос
/ 30 сентября 2011

Когда я нажимаю ввод, он отлично работает.Однако я также хочу выполнить поиск, нажав кнопку поиска в текстовом поле.Я добавил атрибут oncommand, он выполнял поиск, но после того, как поиск закончился, кнопка поиска превратилась в крест.Я щелкнул крестиком, он снова выполнил поиск.Я проверил документацию, однако не смог найти никакой информации о том, как связать мой щелчок кнопки поиска с событием поиска.

Ответы [ 2 ]

1 голос
/ 30 сентября 2011

Это решение может не соответствовать вашей проблеме, но это даст вам возможность завершить вашу задачу.

XUL Текстовое поле:

<textbox id="textbox" type="search" oncommand="SearchKeyword(this)"/>

Js:

function SearchKeyword(oElem) // Function for search for the characters
        {
         var filter = document.getElementById("textbox");
         filter.setAttribute("value", oElem.value);
         document.getElementById("myTodoListTree").builder.rebuild();
      }
1 голос
/ 30 сентября 2011

Первое замечание: не обрабатывайте щелчки или нажатия клавиш напрямую, всегда используйте событие command - это гарантирует, что поведение элемента соответствует тому, что ожидает пользователь.

<textbox type="search"> предполагает, что выполнение одного и того же поиска дважды не имеет смысла.Таким образом, после выполнения поиска кнопка поиска превращается в крест, щелкнув этот крестик , очищается текст поиска (и, конечно, запускается новое событие command).Если вместо нажатия на крестик вы измените текст поиска, вы снова получите обычную кнопку поиска.Таким образом, ваш обработчик command должен смотреть на текст поиска: показывать результаты по умолчанию, если текст пустой (текст поиска очищается вручную или нажатием крестика), и выполнять новый поиск, если текст не пустой.

...