Jsf 2 h:inputText和onchange a4j:jsf函数在光标仍在文本框中时在表单提交时引发ajax错误

Jsf 2 h:inputText和onchange a4j:jsf函数在光标仍在文本框中时在表单提交时引发ajax错误,jsf-2,input,ajax4jsf,Jsf 2,Input,Ajax4jsf,我试图使用h:inputText的onchange属性来调用ajax函数(a4j:jsFunction),该函数调用连接到inputText的侦听器。我面临的问题是,当我更新表单中inputText的值时,光标仍在文本框中,我单击OK提交表单 当表单提交时,试图调用我们指定的ajax函数时会出现ajax错误。代码如下所示: <form> .... <h:inputText value="#{somebean}" onchange="changeListener(

我试图使用h:inputText的onchange属性来调用ajax函数(a4j:jsFunction),该函数调用连接到inputText的侦听器。我面临的问题是,当我更新表单中inputText的值时,光标仍在文本框中,我单击OK提交表单

当表单提交时,试图调用我们指定的ajax函数时会出现ajax错误。代码如下所示:

<form>
    ....
    <h:inputText value="#{somebean}" onchange="changeListener();"/>
    <a4j:jsFunction id="changeListener" name="listener" action="#{action}" limitRender="true" immediate="true" render="#{render}"/>
    ....
 </form>

....
....
如果我通过单击选项卡或在屏幕上的其他位置单击鼠标来离开文本框,它的效果绝对不错


如果有办法解决这个问题,请告诉我。提前感谢。

为什么您要使用
a4j:jsFunction
而不是
a4j:ajax
?实际上,我正在使用jquery组合框,为了处理组合框值的变化,我需要使用javascript函数,因为很多事情取决于用户指定的值。我简化了上面的场景对此有什么建议吗?我还在为这个问题挣扎。