在 <h:inputText> 上使用哪个事件来涵盖所有更改

Posted

技术标签:

【中文标题】在 <h:inputText> 上使用哪个事件来涵盖所有更改【英文标题】:Which event to use on a <h:inputText> to cover all changes 【发布时间】:2012-08-14 14:36:34 【问题描述】:

我想在用户向 输入值时立即更新图标。

我有以下化妆:

<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”的各种事件,但没有成功。

那么我如何立即覆盖这个“从浏览器建议列表中选择的事件”?

【问题讨论】:

event="change" 怎么样(不是 onchange) 您可以尝试使用 onchange 事件。可以在 [这里][1] [1] 找到代码示例:***.com/questions/3937925/… 【参考方案1】:

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

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

【讨论】:

onmouseup 对我也不起作用,但是 autocomplete="off" 是我正在使用的解决方法。谢谢! @cssdata: meta.stackexchange.com/questions/5234/…【参考方案2】:

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

链接的帖子很旧,并且正在讨论 Firefox v2,因此很有可能它不再相关,但如果您有机会尝试建议的解决方法,也许您可​​以让我们知道它是否有效。

【讨论】:

以上是关于在 <h:inputText> 上使用哪个事件来涵盖所有更改的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JSF 中动态添加 <h:inputtext>? [复制]

为啥 <h:inputText required="true"> 允许空格?

如何在 jsf 中预填充 h:inputText

使用jquery脚本设置h:inputtext字段的值

h:inputText 在输入期间只允许数字[重复]

如何在 h:inputText 中将参数传递给 f:ajax? f:参数不起作用