我有这段代码:
<script>
function teste() {
$("#firstname").focus();
}
;
</script>
<br/>
<hr/>
<h:form id="form">
<p:panel header="New User" id="pnl">
<h:panelGrid columns="2">
<p:outputLabel for="firstname" value="Firstname: *" />
<p:inputText id="firstname" required="true" />
<p:outputLabel for="surname" value="Surname: *" />
<p:inputText id="surname" required="true" onclick="teste();" />
</h:panelGrid>
</p:panel>
<p:commandButton value="Submit" update="pnl" oncomplete="teste();"/>
<br/>
</h:form>
我正在尝试在执行操作后设置字段的焦点,但是当组件表单存在时,它不起作用。当我删除表单组件时,焦点工作。问题是我需要关注。 任何人都知道如何解决和/或因为它?
答案 0 :(得分:0)
h:form
是UINamingContainer
,因此其ID会被添加到内部元素中。请尝试以下方法:
function teste() {
$("#form\\:firstname").focus();
}
答案 1 :(得分:0)
正确答案表明,h:form
是UINamingContainer
。
这是另一种内置方法
function teste() {
PrimeFaces.focus('form:firstname');
}