使用ajax输出字符串inputText

使用ajax输出字符串inputText,ajax,jsf,Ajax,Jsf,我尝试使用ajax进行实验。我想要从inputText输入到outpuLabel的字符串 <h:form> <h:inputText id="str" value="#{f.str}"> <f:ajax render="num"/> </h:inputText> <h:outputLabel id="num" value="#{f.str}"> </h:outputLabel>

我尝试使用ajax进行实验。我想要从inputText输入到outpuLabel的字符串

<h:form>
    <h:inputText id="str" value="#{f.str}">
        <f:ajax render="num"/>
    </h:inputText>
    <h:outputLabel id="num" value="#{f.str}">
    </h:outputLabel>
</h:form>

但是
num
的值仅在我键入并单击鼠标时更新,而不是在键入
str
时更新。如何在键入过程中更新
num

组件为
valueChange
时的默认值,在生成的
元素的
onchange
属性中进行ajax调用时呈现(您可以通过在webbrowser中打开JSF页面并右键单击查看源代码来查看它)

因此,只有在触发HTMLDOM
change
事件时才会触发ajax请求。也就是说,当您更改输入元素的值时,输入元素就会失去焦点(模糊)

根据您的功能需求,您实际上希望在触发HTMLDOM
keyup
事件时触发ajax请求

<f:ajax event="keyup" ... />

另见:

谢谢您详尽的回答!