使用ajax输出字符串inputText

时间:2013-11-20 00:03:51

标签: 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>
</h:form>

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

1 个答案:

答案 0 :(得分:0)

<f:ajax event> UIInput组件的<h:inputText>默认设置为valueChange,如果What values can I pass to the event attribute of the f:ajax tag?onchange生成的<input type="text">属性中调用ajax,则会显示{{3}} {1}}元素(您可以通过在webbrowser中打开JSF页面并右键单击查看源来自行查看)。

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

根据您的功能要求,您实际上希望在触发HTML DOM keyup事件时触发ajax请求。在这种情况下,您需要明确指定。

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

另见:

  • {{3}}