Formatação para pessoa fisica e pessoa Juridica

4 respostas
M

Pessoal Boa noite.

Estou com um probleminha.

Tenho um Form de Cliente.

No meu sistema a Classe pai é Cliente com duas classes filhas (PessoaFisica) e (PessoaJuridica).

No meu JSP, tenho que criar um campo radio ou select que quando eu escolho pessoa fisica ele habilita os dados (rg, cpf) e se eu escolho pessoa Juridica habilita (cnjp, etc…)

como criar este procedimento no JSP???

alguem pode me ajudar?

Obrigado! :

4 Respostas

R
Você vai ter que usar JavaScript. Um exemplo bem simples.
<script Language="JavaScript">
function habilita(v) {
	if (v == 1) {
		document.formulario.rg.disabled = true;
		document.formulario.cpf.disabled = false;
	} else {
		document.formulario.cpf.disabled = true;
		document.formulario.rg.disabled = false;
	}	
}
</script>

<form name="formulario">
	&lt;input type="radio" name="group1" value="Milk" onclick="habilita(1)"&gt;PJ<br>
	&lt;input type="radio" name="group1" value="Butter" onclick="habilita(2)"&gt;PF<br>

	RG: &lt;input type="text" name="rg" value="" disabled='true'&gt;<br>
	CPF:&lt;input type="text" name="cpf" value="" disabled='true'&gt;<br>
&lt;/form&gt;
O mais legal seria você usar JQuery.
G

Fiz algo como o que vc está precisando utilizando JSF 2, xhtml e primefaces. Não sei quais as tecnologias vc está utilizando porém ai vai uma versão adaptada, espero ajudar.

<h:panelGrid columns="2" cellspacing="1">
	<h:selectOneRadio id="tipoPessoa" valueChangeListener="#{clienteMB.trocarMascara}"> 
		<f:selectItems value="#{clienteMB.tpPessoa}" />
	</h:selectOneRadio>
</h:panelGrid>

<p:outputPanel>
        <h:outputLabel value="CPF/CNPJ: *"/>	
        <p:inputMask mask="#{clienteMB.mascaraCpfCnpj}" id="pesCpfCnpj" size="20" value="#{clienteMB.cpfcnpj}" required="true" 
		requiredMessage="CPF/CNPJ é obrigatório!" validator="validadorCpfCnpj" />
</p:outputPanel>

método para trocar a máscara

/**
	 *  método para trocar a máscara do campo CPF/CNPJ quando o usuário alterar o tipo da pessoa. 
	 * @param evt evento de alteração do valor do campo
	 */
	public void trocarMascara(ValueChangeEvent evt){
		itemSelecionado.setValue(evt.getNewValue());
		if(itemSelecionado.getValue() != null){
			mascaraCpfCnpj(itemSelecionado.getValue().toString());
		}
	}

método para setar a máscara

/** * método para setar a máscara de CPF/CNPJ e o tpPessoa * @param tipoPessoa */ public void mascaraCpfCnpj(String tipoPessoa){ if (tipoPessoa.equalsIgnoreCase("PJ")) { this.setMascaraCpfCnpj("99.999.999/9999-99"); this.getPessoa().setTpPessoa("PJ"); } else { this.setMascaraCpfCnpj("[CPF removido]"); this.getPessoa().setTpPessoa("PJ"); } }

M

Obrigado.

Vi 2 exemplos bastante interessante… vou ver como vou utiliza-los

M

Romarcio, obrigado, consegui fazer com o seu codigo, ficou legal

só estou com uns probleminhas na hora de mostrar os dados, pois se eu nao digito as informações do Pessoa fisica e cadastro, acusa um erro que não encontrou nada em RG, etc, embora os campos permitem null

mas vou tentar resolver.

Obrigado!!!

romarcio:
Você vai ter que usar JavaScript. Um exemplo bem simples.
&lt;script Language="JavaScript"&gt;
function habilita(v) {
	if (v == 1) {
		document.formulario.rg.disabled = true;
		document.formulario.cpf.disabled = false;
	} else {
		document.formulario.cpf.disabled = true;
		document.formulario.rg.disabled = false;
	}	
}
&lt;/script&gt;

&lt;form name="formulario"&gt;
	&lt;input type="radio" name="group1" value="Milk" onclick="habilita(1)"&gt;PJ<br>
	&lt;input type="radio" name="group1" value="Butter" onclick="habilita(2)"&gt;PF<br>

	RG: &lt;input type="text" name="rg" value="" disabled='true'&gt;<br>
	CPF:&lt;input type="text" name="cpf" value="" disabled='true'&gt;<br>
&lt;/form&gt;
O mais legal seria você usar JQuery.
Criado 26 de outubro de 2011
Ultima resposta 27 de out. de 2011
Respostas 4
Participantes 3