a4j:h后支持:inputText值更改不起作用

时间:2011-04-21 12:08:23

标签: jsf ajax4jsf

任何人都可以找出为什么在输入文本值更改后h:outputText没有刷新? 我已经尝试了onkeyuponchange,但两者都没有影响..

当我做一些使页面刷新的事情时,h:outputText被正确呈现,所以只需要让ajax实际重新渲染组件。

<h:inputText autocomplete="off" styleClass="propertyInput"
    value="#{activesyncDM.userNameDomain}" validator="#{activesyncDM.validate}"
    id="userNameDomain" dir="ltr">
    <a4j:support event="onkeyup" reRender="domainNameSlash"/>
</h:inputText>
<h:outputText id="domainNameSlash" value="\\"  rendered="#{!empty activesyncDM.userNameDomain}"/>

谢谢!

2 个答案:

答案 0 :(得分:4)

除了将ajaxSingle="true"用于Cristian提及的a4j:support之外,JSF呈现的HTML代码中的id属性可能与您在{{{0}中设置的ID值不同1}}。 Richfaces提供了一个函数<h:outputText>来获取JSF生成的这些动态ID。通过EL表达式调用此函数。

所以,你可以尝试:

rich:clientId('id')

答案 1 :(得分:3)

您必须将inputText的值发送到支持bean,以便outputText反映更改,因此您应该为ajaxSingle="true"

添加a4j:support

<a4j:support event="onkeyup" ajaxSingle="true" reRender="domainNameSlash"/>