Ir para conteúdo

Arquivado

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

Paulo Mardson

validar form com js, com bifurcação

Recommended Posts

Fala galera, então eu tenho um formulario que tem um campo radio, se eu clico no campo 1 ele exibe outra parte do formulario se clico no campo 2 ele esconde o formulario, o que eu queor fazer é o seguinte,

 

//validar opções

if (!d.opcao[1].checked && !d.opcao[2].checked) {

alert("Escolha uma opção!")

return false;

}

return true;

 

Se for opcao[1]

 

valide campo 1

valide campo 2

valide campo 3

 

se for opcao[2]

 

returne true;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então vamos la.

 

Se entedi direito é o seguinte: você quer que o usuário escolha uma opção (obrigatorio), é isso? e dai fazer aparece uma parte do formulario.

Se for só esconder e mostrar eu faria da seguinte forma: Colocaria a parte do formulario que quero esconder dentro de uma div ou table e depois no evento onClick do seu radio chamaria uma função ex: mostra(form) e no js faria assim:

 

function mostra(form){
	 document.form.div1.style.display="" //faz a div aparecer
   }

na minha div colocaria assim:

<div style="display:none" >	<!-- Faz a div ficar escondida -->
 conteúdo
</div>

seria isto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso e ja fiz, é o seguinte quando vou enviar o formulario ele verifica os campos, eu quero que quando clicar na opção 1 ele aparece o formulario beleza?! que é esse cód. ai que você fez dai eu quero que ele verifique se os campos estão com algum valor. se eu clico na opção 2 ele ignora a verificação dos campos ocultos e libera o envio...

 

// JavaScript Document
	function validaForm(){
		//validar nome
		d = document.cadastro;
		if (d.nome.value == ""){
			alert("O campo " + d.nome.name + " deve ser preenchido!");
			d.nome.focus();
			return false;
		}
		//validar user
		if (d.user.value == ""){
			alert("O campo " + d.user.name + " deve ser preenchido!");
			d.user.focus();
			return false;
		}
		//validar senha
		if (d.senha.value == ""){
			alert("O campo " + d.senha.name + " deve ser preenchido!");
			d.senha.focus();
			return false;
		}
		//validar email
		if (d.email.value == ""){
			alert("O campo " + d.email.name + " deve ser preenchido!");
			d.email.focus();
			return false;
		}
		//validar email(verificao de endereco eletronico)
		parte1 = d.email.value.indexOf("@");
		parte2 = d.email.value.indexOf(".");
		parte3 = d.email.value.length;
		if (!(parte1 >= 3 && parte2 >= 6 && parte3 >= 9)) {
			alert("O campo " + d.email.name + " deve ser conter um endereco eletronico!");
			d.email.focus();
			return false;
		}
		//validar CPF
		if (d.cpf.value == ""){
			alert("O campo " + d.cpf.name + " deve ser preenchido!");
			d.telefone.focus();
			return false;
		}
		//validar CPF(verificacao se contem apenas numeros)
		if (isNaN(d.cpf.value)){
			alert("O campo " + d.cpf.name + " deve conter apenas numeros!");
			d.telefone.focus();
			return false;
		}
		//validar telefone
		if (d.telefone.value == ""){
			alert("O campo " + d.telefone.name + " deve ser preenchido!");
			d.telefone.focus();
			return false;
		}
		//validar telefone(verificacao se contem apenas numeros)
		if (isNaN(d.telefone.value)){
			alert("O campo " + d.telefone.name + " deve conter apenas numeros!");
			d.telefone.focus();
			return false;
		}
		//validar sexo
		if (!d.opcao['ouvinte'].checked && !d.opcao['palestrante'].checked) {
			alert("Escolha o uma das opções, palestrante ou ouvinte")
			return false;
		}
		return true;
		}
	
		if(!d.opcao['palestrante'].checked){
			

			
			if (file.value != "") { 
		arquivo = (file.value);
		tipo = arquivo.substring(arquivo.length-4,arquivo.length);
		tipo = tipo.toLowerCase()

		if ((tipo == "PDF") || (tipo == ".Pdf") || (tipo == ".pdf")) {} else {
			alert("Arquivo invalido");
			file.focus();
		return false;
		}

		}

Compartilhar este post


Link para o post
Compartilhar em outros sites

'Fiz', adaptei assim, mas ta dando erro, o que ta em negrito fui eu.

e o que ta em Italico eu acho que não vai funcionar =//

 

// JavaScript Document
	function validaForm(){
		//validar nome
		
		d = document.cadastro;
		
		if (d.nome.value == ""){
			alert("O campo NOME deve ser preenchido!");
			d.nome.focus();
			return false;
		}
		//validar nome cracha
		if (d.user.value == ""){
			alert("O campo NOME NO CRACHÁ deve ser preenchido!");
			d.user.focus();
			return false;
		}

		//validar email
		if (d.email.value == ""){
			alert("O campo E-MAIL deve ser preenchido!");
			d.email.focus();
			return false;
		}
		//validar email(verificao de endereco eletronico)
		parte1 = d.email.value.indexOf("@");
		parte2 = d.email.value.indexOf(".");
		parte3 = d.email.value.length;
		if (!(parte1 >= 3 && parte2 >= 6 && parte3 >= 9)) {
			alert("O campo E-MAIL deve ser conter um endereco eletronico!");
			d.email.focus();
			return false;
		}
		//validar CPF
		if (d.cpf.value == ""){
			alert("O campo CPF deve ser preenchido!");
			d.telefone.focus();
			return false;
		}
		//validar CPF(verificacao se contem apenas numeros)
		if (isNaN(d.cpf.value)){
			alert("O campo CPF deve conter apenas numeros!");
			d.telefone.focus();
			return false;
		}
		//validar telefone
		if (d.telefone.value == ""){
			alert("O campo TELEFONE deve ser preenchido!");
			d.telefone.focus();
			return false;
		}
		//validar telefone(verificacao se contem apenas numeros)
		if (isNaN(d.telefone.value)){
			alert("O campo TELEFONE deve conter apenas numeros!");
			d.telefone.focus();
			return false;
		}
		//validar instituição
		if (d.instituicao.value == ""){
			alert("O campo INSTITUIÇÃO deve ser preenchido!");
			d.senha.focus();
			return false;
		}
		//validar curso
		if (d.cuso.value == ""){
			alert("O campo CURSO deve ser preenchido!");
			d.senha.focus();
			return false;
		}
		//validar opcao
		if (!d.opcao['ouvinte'].checked && !d.opcao['palestrante'].checked) {
			alert("Escolha o uma das opções, PALESTRANTE ou OUVINTE")
			return false;
		}
		return true;
		}
	
		[b]if(d.opcao['palestrante'].checked){[/b]
	
				[i]if (resumo.value != "") { 
				arquivo = (resumo.value);
				tipo = arquivo.substring(arquivo.length-4,arquivo.length);
				tipo = tipo.toLowerCase()

					if ((tipo == "PDF") || (tipo == ".Pdf") || (tipo == ".pdf")) {} else {
						alert("Formato inválido, Somente PDF.");
						reumo.focus();
					return false;
					}
				}
					if (d.orientador.value == ""){
					alert("O campo " + d.nome.name + " deve ser preenchido!");
					d.nome.focus();
					return false;
				}
				
					if (d.autores.value == ""){
					alert("O campo " + d.nome.name + " deve ser preenchido!");
					d.nome.focus();
					return false;
		
				}
		
		}[/i]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro: Qual erro acontece?

Segundo: Esse seu problema de verificação é mais lógica que propriamente js, mas vamos la

 

você tem que seguri a seguinte lógica:

 

Na sua funçãoq que verifica quais campos foram preenchidos você deve descobri qual radio esta selecionado, descobrindo isso na verificação dos campos você tem que fazer o seguinte:

 

se o campo esta em branco mas o radio selecionado é o que esconde este campo então: return true

 

entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro: Qual erro acontece?

Segundo: Esse seu problema de verificação é mais lógica que propriamente js, mas vamos la

você tem que seguri a seguinte lógica:

Na sua função que verifica quais campos foram preenchidos você deve descobri qual radio esta selecionado, descobrindo isso na verificação dos campos você tem que fazer o seguinte:

se o campo esta em branco mas o radio selecionado é o que esconde este campo então: return true

entendeu?

[b]if(d.opcao['palestrante'].checked){[/b]
	
				[i]if (resumo.value != "") { 
				arquivo = (resumo.value);
				tipo = arquivo.substring(arquivo.length-4,arquivo.length);
				tipo = tipo.toLowerCase()

					if ((tipo == "PDF") || (tipo == ".Pdf") || (tipo == ".pdf")) {} else {
						alert("Formato inválido, Somente PDF.");
						reumo.focus();
					return false;
					}
				}
					if (d.orientador.value == ""){
					alert("O campo " + d.nome.name + " deve ser preenchido!");
					d.nome.focus();
					return false;
				}
				
					if (d.autores.value == ""){
					alert("O campo " + d.nome.name + " deve ser preenchido!");
					d.nome.focus();
					return false;
		
				}
		
		}
		return true;
	   }[/i]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui fazer a configuração, mas ai veio outra dúvida:

 

if(d.opcao['palestrante'].checked){

 

if (d.resumo.value == ""){

alert("O campo RESUMO deve conter ao menos 1 ( UM ) arquivo no formato PDF!");

d.resumo.focus();

return false;

}

 

if (d.resumo.value != "" || d.resumo2.value != "" || d.resumo3.value != "") {

arquivo = (d.resumo.value || d.resumo2.value || d.resumo3.value);

tipo = arquivo.substring(arquivo.length-4,arquivo.length);

tipo = tipo.toLowerCase()

 

if ((tipo == "PDF") || (tipo == ".Pdf") || (tipo == ".pdf")) {} else {

alert("Formato inválido, Somente PDF.");

d.resumo.focus();

return false;

}

}

 

if (d.orientador.value == ""){

alert("O campo ORIENTADOR deve ser preenchido!");

d.orientador.focus();

return false;

}

 

if (d.autores.value == ""){

alert("O campo AUTOR(S) deve ser preenchido!");

d.autores.focus();

return false;

 

}

}

return true;

document.getElementById('nome').value = '';

document.getElementById('cracha').value = '';

document.getElementById('email').value = '';

document.getElementById('cpf').value = '';

document.getElementById('telefone').value = '';

document.getElementById('instituicao').value = '';

document.getElementById('curso').value = '';

document.getElementById('opcao').value = '0';

document.getElementById('resumo').value = '';

document.getElementById('resumo1').value = '';

document.getElementById('resumo2').value = '';

document.getElementById('orientador').value = '';

document.getElementById('autores').innerHTML = '';

}

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.