Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafaela Lee

[Resolvido] Problemas na validação de campos com radio

Recommended Posts

Bom dia.

Meu problema é o seguinte.

Tenho dois radiobutton no formulário de cadastro (Pessoa Física / Pessoa Jurídica).

Para Física habilita cpf e rg, e para jurídica habilita cnpj e inscrição estadual.

Fiz o seguinte código para quando enviar e só reclamar de um campo estar vazio (cnpj ou cpf, dependendo do que foi selecionado)...

	if(document.pedido.Pfisica.value){
	if(document.pedido.t1.value=="") {
		alert("O Campo CPF é obrigatório!");
		return false;
	}
}
else 
if(document.pedido.Pjuridica.value){
	if(document.pedido.t2.value==""){
		alert("O Campo CNPJ é obrigatório!");
		return false;
	}
}

Mas um exemplo do problema é.

Eu escolho pessoa física e logo em seguida troco para pessoa jurídica.

Daí digito os dados e vou enviar, quando envio ele reclama de não ter add cpf.

Sendo que se eu seleciono diretamente o cnpj, digito os dados e vou enviar, ele não reclama do cpf.

Você podem me ajudar com isso? Mesmo escolhendo por exemplo p. física e mudando para p. jurídica ele não dê essa mensagem, já que o que esta marcado é p. jurídica.

Espero que tenham entendido, obrigada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Minha ignorância me fez responder errado e um pouco malcriada. Perdão, mas reformulando...

Os campos a principio estão desativados, e só ativa conforme selecionado a pessoa. Então só o que esta ativado que a pessoa deve preencher, ter uma auto-mensagem assim não teria nada haver. Pelo menos eu acho.

E sinceramente não está entrando na minha cabeça isso. O nome dos dois é o mesmo "pessoa", mas ali em cima esta sinalando o id, por isso está diferente. Está assim por conta da habilitação do qual falei, fiz assim por isso, e não estou conseguindo mesmo é entender o raciocínio.

E isso de que disse que ficaria sem sentido é que, se está marcado o pessoa jurídica, fica sem sentido pedir "marque CNPJ ou CPF", pois cpf não é necessário e tals. Tomara que tenha uma solução pra isso. ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja meu exemplo!

 

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>Teste</title>
<script type="text/javascript">
function get(valor){
return document.getElementById(valor);
}

function ativar(valor){
if (valor == "CPF"){
	get("div_cpf_cnpj").innerHTML = valor;
	return true;
}

if (valor == "CNPJ"){
	get("div_cpf_cnpj").innerHTML = valor;
	return true;
}
}

function validar(){
var formulario = document.formu;

if (formulario.numero_cpf_cnpj.value == ""){
	alert("Preencha o campo " + get("div_cpf_cnpj").innerHTML);
	texto = "";
	return false;
}

}
</script>
</head>
<body>
<form name="formu" method="post" onSubmit="return validar()" action="teste.html">
   CPF: <input type="radio" name="cnpj_cpf" onChange="ativar(this.value);" value="CPF">
    / CNPJ: <input type="radio" name="cnpj_cpf" onChange="ativar(this.value);" value="CNPJ">
   <br />

   Numero do <span id="div_cpf_cnpj">CPF</span>: <input type="text" name="numero_cpf_cnpj">
   </div>
   <br />
   <br />
   <button type="submit">Testar</button>
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.