estou com problema meio besta mais não consigo resolver através da documentação.
Quero que quando abrir a página, um campo do inputText fique já focado.
estou com problema meio besta mais não consigo resolver através da documentação.
Quero que quando abrir a página, um campo do inputText fique já focado.
Posta o código do XHTML.
Template
`
<h:head>
<title>
<ui:insert name="titulo"> </ui:insert>
</title>
<link rel="Stylesheet" href="css/reset.css" />
<link rel="stylesheet" href="css/bootstrap.css" />
<link rel="stylesheet" href="css/bootstrap-theme.css" />
<link rel="stylesheet" href="css/estilo.css" />
</h:head>
<h:body>
<div class="container">
<div class="row">
<div class="col-md-3">
<p:commandButton styleClass="btn btn-primary" value="cadastro de serviço" />
<p:commandButton styleClass="btn btn-primary" value="consulta serviço" />
<p:commandButton styleClass="btn btn-primary" value="cadastrar cliente" />
<p:commandButton styleClass="btn btn-primary" value="consultar cliente" />
<p:commandButton styleClass="btn btn-primary" value="fotos de serviços" />
<p:commandButton styleClass="btn btn-primary" value="relatórios" />
<p:commandButton value="acessar" styleClass="btn btn-lg btn-danger btn-block" />
</div>
<div class="col-md-9">
MENU PRINCIPAL
</div>
</div>
<div id="context">
<ui:insert name="context" />
</div>
`
página que usa o template
`
<ui:composition template="/template/_template.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p=“http://primefaces.org/ui”>
<ui:define name="titulo">
menu principal
</ui:define>
</ui:composition>
`
Ok, mas cadê o input e o <p:focus />
??
confundi o código aqui vou consertar.
eu só tentei até este ponto, não queria perder muito tempo, porque tenho outras prioridades.
`
Controle de Servico<div class="container">
<h:form class="form-login">
<p:focus context="usuario"/>
<fieldset>
<legend>Acesso ao sistema</legend>
<p:outputLabel for="usuario" value="usuario" />
<p:inputText id="usuario" styleClass="form-control"
placeholder="informe seu login" value="" required="true" />
<p:outputLabel for="senha" value="senha" />
<p:password id="senha" value="" styleClass="form-control"
placeholder="informe sua senha" required="true" feedback="true"
promptLabel="Informe sua senha" />
<p:commandButton value="acessar" style='margin-top: 5px'
styleClass="btn btn-lg btn-danger btn-block" />
</fieldset>
</h:form>
</div>
<script src="jquery/jquery.js" />
<script>
$('legend').animate({"margin-left": "+=80"},5000);
</script>
`
Tenta assim:
<h:form class="form-login">
<fieldset id="flLogin">
<p:focus context="flLogin"/>
<legend>Acesso ao sistema</legend>
<p:outputLabel for="usuario" value="usuario" />
<p:inputText id="usuario" styleClass="form-control"
placeholder="informe seu login" value="" required="true" />
<p:outputLabel for="senha" value="senha" />
<p:password id="senha" value="" styleClass="form-control"
placeholder="informe sua senha" required="true" feedback="true"
promptLabel="Informe sua senha" />
<p:commandButton value="acessar" style='margin-top: 5px'
styleClass="btn btn-lg btn-danger btn-block" />
</fieldset>
</h:form>
não deu.
HTTP Status 500 - Cannot find component for expression "flLogin" referenced from "j_idt2:j_idt4".
No seu caso eu faria da seguinte forma:
<p:focus for="usuario" />
usa o fieldset do prime.
ficou no mesmo jeito.
<h:form class="form-login"> <p:fieldset id="flLogin"> <p:focus context="usuario" /> <legend>Acesso ao sistema</legend> <p:outputLabel for="usuario" value="usuario" /> <p:inputText id="usuario" styleClass="form-control" placeholder="informe seu login" value="" required="true" /> <p:outputLabel for="senha" value="senha" /> <p:password id="senha" value="" styleClass="form-control" placeholder="informe sua senha" required="true" feedback="true" promptLabel="Informe sua senha" /> <p:commandButton value="acessar" style='margin-top: 5px' styleClass="btn btn-lg btn-danger btn-block" /> </p:fieldset> </h:form>
<p:focus context="usuario" />
É o id do fieldset
EDIT: Tou lendo a documentação o context vai pegar o componente que engloba e busca o primeiro input habilitado p/ setar o focu, o for determina qual id(element) que você quer.
<p:focus for="usuario" />
Note que eu coloquei o id usuario no for
e não no context
…faça um teste desse jeito.