Какое событие использовать для ‹h:inputText›, чтобы покрыть все изменения

Я хочу немедленно обновить значок, пока пользователь вводит значение в ‹h:inputText›.

У меня следующий макияж:

<h:inputText id="listprice" value="#{mybean.listPrice}">
    <f:converter converterId="mybean.convertPrice"/>
    <a4j:ajax event="keyup" render="infoIcon" />
</h:inputText>

Все работает нормально, если я действительно ввожу значение!

Однако, если я снова захожу на страницу и начинаю вводить значение, мой firefox предлагает мне выбрать список значений из моих предыдущих сеансов, и теперь, если я выбираю одно из этих значений с помощью мыши , я не получаю событие!

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

<h:inputText id="listprice" value="#{mybean.listPrice}">
    <f:converter converterId="mybean.convertPrice"/>
    <a4j:ajax event="keyup" render="infoIcon" />
    <a4j:ajax event="mouseout" render="infoIcon" />
</h:inputText>

... и безуспешно связывал все виды событий от «onchange до onmouseout».

Итак, как мне немедленно охватить это «событие выбора из списка предложений браузера»?


person cssdata    schedule 18.08.2012    source источник
comment
как насчет event="change" (не на обмен)   -  person Daniel    schedule 18.08.2012
comment
Вы можете попробовать использовать событие onchange. Пример кода можно найти [здесь][1] [1]: stackoverflow.com/questions/3937925/< /а>   -  person AshwinN    schedule 18.08.2012


Ответы (2)


Если вам не нужны значения из предыдущих сеансов пользователя, вы можете использовать атрибут autocomplete="off".

В противном случае вы можете использовать событие onmouseup, у меня это работает.

person Lokesh Gupta    schedule 18.08.2012
comment
onmouseup у меня тоже не работает, однако autocomplete=off - это то, что я использую в качестве обходного пути. Спасибо! - person cssdata; 19.08.2012
comment
@cssdata: мета .stackexchange.com/questions/5234/ - person BalusC; 20.08.2012

Это может быть известная ошибка, и обходной путь предлагается здесь: http://forums.mozillazine.org/viewtopic.php?f=38&t=584166&start=0&st=0&sk=t&sd=a

Связанный пост очень старый и обсуждает Firefox v2, поэтому есть большая вероятность, что он больше не актуален, но если у вас будет возможность попробовать предложенный обходной путь, возможно, вы могли бы сообщить нам, работает ли он или нет.

person Oversteer    schedule 18.08.2012