如何在表单内的字段中设置焦点

时间:2013-12-19 11:32:48

标签: jquery jsf primefaces

我有这段代码:

 <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>

我正在尝试在执行操作后设置字段的焦点,但是当组件表单存在时,它不起作用。当我删除表单组件时,焦点工作。问题是我需要关注。 任何人都知道如何解决和/或因为它?

2 个答案:

答案 0 :(得分:0)

h:formUINamingContainer,因此其ID会被添加到内部元素中。请尝试以下方法:

function teste() {
    $("#form\\:firstname").focus();
}

答案 1 :(得分:0)

正确答案表明,h:formUINamingContainer

这是另一种内置方法

function teste() {
   PrimeFaces.focus('form:firstname');
}