Javascript 使用a4j:支架时焦点消失
我使用JSF,页面上有两个输入文本Javascript 使用a4j:支架时焦点消失,javascript,events,jsf,focus,ajax4jsf,Javascript,Events,Jsf,Focus,Ajax4jsf,我使用JSF,页面上有两个输入文本 <h:inputText id="xxx" value="#{file.xxx}" maxlength="12" > <a4j:support event="onchange" reRender="datePanel1" onchange="validateXXX();" oncomplete="process();" /> </h:inputText> <h:
<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事件用于输出页面上的状态消息,无法删除。
问题是,当我从第一个输入文本切换到第二个输入文本,并且在第一个输入文本“验证”后第二个输入文本的值发生变化时,焦点从第二个输入文本消失。如何防止焦点消失,但仍然使用a4j:support?尝试使用javascript将元素重新聚焦到oncomplete上 e、 g
当调用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>