当使用a4j:support时,焦点将消失



我使用JSF,并且在页面上有2个输入文本。

<h:inputText id="xxx" value="#{file.xxx}" maxlength="12" >
    <a4j:support event="onchange" reRender="datePanel1" 
      onchange="validateXXX();"  
      oncomplete="process();"
        />
</h:inputText> 
<h:inputText id="yyy" value="#{file.yyy}" maxlength="12" >
    <a4j:support event="onchange" reRender="datePanel1" 
      onchange="validateYYY();"  
      oncomplete="process();"
        />
</h:inputText> 

当改变任何值时,应该验证这对值。如果验证失败,则可以自动更新输入文本的其他值。Oncomplete事件用于在页面上输出状态消息,不能删除。问题是,当我从第一个输入文本TAB到第二个输入文本,第二个输入文本的值在第一个输入文本的"验证"后改变,焦点从第二个输入文本消失。如何防止焦点消失,但仍然使用a4j:支持?

尝试使用javascript将元素重新聚焦到oncomplete

<h:inputText id="xxx" value="#{file.xxx}" maxlength="12" >
    <a4j:support event="onchange" reRender="datePanel1" 
      onchange="validateXXX();"  
      oncomplete="process();document.getElementById('xxx').focus();"
        />
</h:inputText> 
<h:inputText id="yyy" value="#{file.yyy}" maxlength="12" >
    <a4j:support event="onchange" reRender="datePanel1" 
      onchange="validateYYY();"  
      oncomplete="process();document.getElementById('yyy').focus();"
        />
</h:inputText> 

当oncomplete处理程序被调用.....

时,这应该有希望重新聚焦元素

相关内容

  • 没有找到相关文章

最新更新