Setar o focus em paginas JSF 2 usando template (ui:composition e ui:define)

2 respostas
B

Tenho o seguinte código abaixo que só seta o focu se eu retirar as tags: ui:Composition e ui:define. Alguem poderia me ajudar?

<?xml version="1.0" encoding="UTF-8"?>
<ui:composition template="commonLayout.xhtml">
 		<ui:define name="content">
	     	<h:body onload="document.getElementById('Pais:campo-pais').focus()">
	     	<h:form id="Pais">		    			
			<h:inputHidden value ="#{paisControlador.pais.id}"/>
			<fieldset style="width:750px; height:200px; text-align:left">
				<legend>Cadastro de Paises</legend>
				<br></br>
				<h:panelGrid columns ="2">
					<h:outputLabel value ="Nome do país:" for ="campo-pais"/>
		 			<h:inputText value="#{paisControlador.pais.pais}" id="campo-pais">
		 				
		 			</h:inputText>
		 			<h:commandButton value ="Adicionar" action ="#{paisControlador.adicionaPais}" execute="@form"/>
				</h:panelGrid >
				<br></br>
				<h:messages layout="table" errorStyle="color: red"
				infoStyle="color: green" warnStyle="color: orange" fatalStyle="color: gray"/>
			</fieldset>
			</h:form>
			</h:body>	
		</ui:define>
	</ui:composition>
 	 
</html>

2 Respostas

G

No seu template você não tem algum script que esta setando o focus em outro campo?

B

Não está setando em nenhum Escript.

O meu template:

<?xml version="1.0" encoding="UTF-8"?>
<h:head>
	<h:outputStylesheet name="Estilo2.css" library="css"/>  
</h:head>

<h:body>
<h:form>
	<div id="page">

    <div id="header">
	<ui:insert name="header" >
	  <ui:include src="commonHeader.xhtml" />
	</ui:insert>
    </div>

    <div id="content">
  	<ui:insert name="content" >
 	  <ui:include src="commonContent.xhtml" />
   	</ui:insert>
    </div>

    <div id="footer">
    	<ui:insert name="footer" >
    	  <ui:include src="commonFooter.xhtml" />
    	</ui:insert>
	</div>

</div>
</h:form>
</h:body>
Criado 9 de outubro de 2012
Ultima resposta 11 de out. de 2012
Respostas 2
Participantes 2