sbb_20
Outubro 15, 2010, 1:26pm
#1
qndo a pagina carrega pela primeita vez é criado os elementos para PF, so que qndo eu seleciono PJ o ajax nao encontra os elementos c e d por não serem renderizados no inicio… acho que é isso, alguem sabe como resolver?
Obs.: as variaveis ClienteMB.tipoFormularioPF iniciam com true e ClienteMB.tipoFormularioPJ com false, apos selecionar o radiobutton pj os valores sao alterados. estou tentado criar um form que ao selecionar um tipo de cliente ele carrega as informações de cadastro expecificas…
<h:selectOneRadio value="#{ClienteMB.selecaoTipoCliente}" styleClass=“textoFormulario”>
<f:selectItem itemValue=“PF” itemLabel="#{msg.PessoaFisica}"/>
<f:selectItem itemValue=“PJ” itemLabel="#{msg.PessoaJuridica}"/>
<f:ajax event=“change” render=“a b c d”/>
</h:selectOneRadio>
<h:outputText id=“a” value=“Nome: " styleClass=“textoDica” rendered=”#{ClienteMB.tipoFormularioPF}"/>
<h:inputText id=“b” value="#{ClienteMB.cliente.tipoCliente}" rendered="#{ClienteMB.tipoFormularioPF}"/>
<h:outputText id=“c” value=“Razão Social: " styleClass=“textoDica” rendered=”#{ClienteMB.tipoFormularioPJ}"/>
<h:inputText id=“d” value="#{ClienteMB.cliente.tipoCliente}" rendered="#{ClienteMB.tipoFormularioPJ}"/>
valewwww
Pergunta inicial: qual é o escopo do seu managedBean ClienteMB?
Abraço
Faça um teste. Coloque como escopo de sessão e me diga o que acontece.
É só um teste, pois este tipo de escopo, no geral, deve ser evitado.
sbb_20
Outubro 15, 2010, 2:21pm
#5
fiz o teste e continua gerando a mesma msg de erro
malformedXML: During update: j_idt32:c not found
pelo que vejoo erro é no elemento c que como nao é renderizado no inicio não fica acessivel no dom
Vc tem razão, o JSF ñ vai renderizar algo q nunca foi renderizado antes. O motor de javascript ñ pode encontrar algo q ñ está na página. Tente isso:
<h:form>
<h:selectOneRadio value="#{ClienteMB.selecaoTipoCliente}" styleClass="textoFormulario">
<f:selectItem itemValue="PF" itemLabel="#{msg.PessoaFisica}"/>
<f:selectItem itemValue="PJ" itemLabel="#{msg.PessoaJuridica}"/>
<f:ajax event="change" render="detalhes"/>
</h:selectOneRadio>
<h:panelGroup id="detalhes">
<h:panelGroup rendered="#{ClienteMB.tipoFormularioPF}">
<h:outputText id="a" value="Nome: " styleClass="textoDica" />
<h:inputText id="b" value="#{ClienteMB.cliente.tipoCliente}" />
</h:panelGroup>
<h:panelGroup rendered="#{ClienteMB.tipoFormularioPJ}">
<h:outputText id="c" value="Razão Social: " styleClass="textoDica" />
<h:inputText id="d" value="#{ClienteMB.cliente.tipoCliente}" />
</h:panelGroup>
<h:panelGroup>
</h:form>
Da próxima vez, lembre-se de utilizar tags [code] p/ postar código.
sbb_20
Outubro 15, 2010, 2:30pm
#7
Putz nem sei como agredecer hem, valew mesmo cara! agora funcionou!!! Ufaaa.rss
Um abraço mano! valewww