任何人都可以找出为什么在输入文本值更改后h:outputText
没有刷新?
我已经尝试了onkeyup
和onchange
,但两者都没有影响..
当我做一些使页面刷新的事情时,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}"/>
谢谢!
答案 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"/>