在<h:inputtext>上使用哪个事件来覆盖所有更改</h:inputtext>

时间:2012-08-18 10:20:37

标签: jsf jsf-2 richfaces ajax4jsf

我希望在用户将值输入&lt; h:inputText&gt;时立即更新图标。

我有以下makup:

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

如果我真的输入值,那么一切正常!

但是,如果我重新访问该页面并开始输入值,我的firefox会向我提供我之前会话中要选择的值的列表,现在如果我用鼠标选择其中一个值我没有得到一个活动!

我理解这一点,因为在这种情况下没有密钥。所以我绑定了另一个这样的事件处理程序:

<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,to onmouseout”中的各种事件捆绑在一起,没有成功。

那么如何立即报道这个“从浏览器 - 选择列表中选择”的事件呢?

2 个答案:

答案 0 :(得分:6)

如果您不想要用户之前会话中的值,则可以使用 autocomplete =“off”属性。

否则你可以使用onmouseup事件,它对我有用。

答案 1 :(得分:1)

这可能是一个已知的错误,建议采用解决方法:http://forums.mozillazine.org/viewtopic.php?f=38&t=584166&start=0&st=0&sk=t&sd=a

链接的帖子非常陈旧,正在讨论Firefox v2,所以它很可能不再具有相关性,但如果你有机会尝试建议的解决方法,或许你可以告诉我们它是否有效。< / p>