Ir para conteúdo

POWERED BY:

Arquivado

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

felipesayaman

[Resolvido] uso de if dentro de um alert é possivel?

Recommended Posts

gostaria de saber se posso fazer um if dentro de um alert, quero alertar o usuario sobre campos deixados em branco, e avisar sobre cada um deixado em branco ao mesmo tempo, eu montei essa estrutura mas ela nao funcionou, gostaria de saber se nao funcionou por nao ser possivel ou por estar errada

function embranco(){
	var nome, endereco, bairro, fone_residencial, fone_celular, email, msn, rg, crva, login, senha, senhateste;
		
	nome=document.form_cadastro_tecnicos.nome.value;
	endereco=document.form_cadastro_tecnicos.endereco.value;
	fone_celular=document.form_cadastro_tecnicos.value;
	fone_residencial=document.form_cadastro_tecnicos.value;
	email=document.form_cadastro_tecnicos.value;
	msn=document.form_cadastro_tecnicos.value;
	rg=document.form_cadastro_tecnicos.value;
	crva=document.form_cadastro_tecnicos.value;
	login=document.form_cadastro_tecnicos.value;
	senha=document.form_cadastro_tecnicos.value;
	senhateste=document.form_cadastro_tecnicos.value;
	
	if(nome.length==0 || endereco.length==0 || fone_celular.length<13 || fone_residencial<13 || email==0 || msn==0 || rg==0 || crva==0 || login==0 || senha==0 || senhateste==0){
	alert("Os seguintes campos não foram preenchidos ou foram preenchidos incorretamente:\n
			"if(nome.length==0)"Nome não preenchido.\n
			"if(endereco.length==0)"Endereço não preenchido.\n
			"if(fone_celular.length!=13 || telefone_residencial.length!=13)"Telefone não preenchido, ou preenchido incorretamente.\n
			"if(email.length==0)" E-mail não preenchido.\n
			"if(msn.length==0)"Msn não prenchido.\n
			"if(rg.length==0)"Rg não preenchido.\n
			"if(crva.length==0)"Crva não preenchido.\n
			"if(login.length==0)"Login não preenchido.\n
			"if(senha.length<8 || senhateste.length<8)"Senha digitada tem menos de 8 caracteres.\n
			");
}
	
no mais, dentro de um alert, uso ã e derivados ou posso colocar a acentuação direto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E mais facil usar um plugin com jquery Validate para alertar o usuario

veja nesse link algun exemples http://jquery.bassistance.de/validate/demo/

para fazer o Download va aqui Clique aquihttp://plugins.jquery.com/project/validate

Compartilhar este post


Link para o post
Compartilhar em outros sites

não dá para fazer if dentro do alert não.

você pode colocar acentos sim, desde que o charset do HTML esteja correto, e condizente com a codificação do documento.

 

oque você deve fazer, é algo como:

if(nome.length==0) alert( "Nome não preenchido" );
if(endereco.length==0) alert( "Endereço não preenchido." );

 

um alert para cada if

 

Ou ir concatenando uma variável em cada IF, e exibir tudo num unico alert, no FINAL DE TUDO.

 

if(nome.length==0) mgs += "Nome não preenchido.\n";
 if(endereco.length==0) msg += "Endereço não preenchido.\n" ;

.. alert( msg );

apenas uma sugestão para melhorar o teu script:

trocar:

   var nome;
        nome=document.form_cadastro_tecnicos.nome.value;
por:
   var nome = document.form_cadastro_tecnicos.nome.value;

Compartilhar este post


Link para o post
Compartilhar em outros sites

funcionou, mas agora surgiu uma duvida, como nao enviar os dados do formulario caso entejam incorretos? gostaria de mandar os dados pra serem tratados no php e gravados no banco apenas se o cadastro estiver ok, coloquei o evento onsubmit no form, esta assim no momento

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Espec Open-Cadastro de Tecnicos</title>

<script language="javascript"  type="text/javascript"  src="../js/js.js">
</script>

</head>

<body>

<form name="form_cadastro_tecnicos" method="post" onsubmit="verificatecnicos();" action="trata_cadastro_tecnicos.php"  >

<table>
	<tr>
		<td>Nome:</td><td><input type="text" name="nome" maxlength="50" size="50"/></td>
	</tr>
	
	<tr>
		<td>Endereço:</td><td><input type="text" name="endereco" maxlength="100" size="50"/></td>
	</tr>

    <tr>
		<td>Bairro:</td><td><input type="text" name="bairro" maxlength="50" size="50"/></td>
	</tr>
	
	<tr>
		<td>Cidade:</td><td><input type="text" name="cidade" maxlength="50" size="20"/>Estado:
		<select name="estado">
		<option>RS</option>
		<option>SC</option>
		<option>PR</option>
		<option>MT</option>
		<option>MS</option>
		<option>GO</option>
		<option>DF</option>
		</select>
		</td>
	</tr>
	
	<tr>
		<td>Fone Residencial:</td><td><input type="text" onKeyPress="mascarafone(this);" name="fone_residencial" maxlength="13" size="16"/>Fone Celular:<input type="text"  onkeypress="mascarafone(this);" name="fone_celular" maxlength="13" size="16"/></td>
	</tr>
	
	<tr>
		<td>E-mail:</td><td><input type="text" name="email" maxlength="50" size="50"/></td>
	</tr>
	
	<tr>
		<td>Msn:</td><td><input type="text" name="msn" maxlength="50" size="50"/></td>
	</tr>
	
	<tr>
		<td>RG:</td><td><input type="text" name="rg" maxlength="20" size="20"/>CPF:<input type="text" name="cpf" onkeypress="mascaracpf(this);"maxlength="14" size="20"/></td>
	</tr>
	
	<tr>
		<td>CRVA:</td><td><input type="text" name="crva" maxlength="11" size="20"/></td>
	</tr>

	<tr>
		<td>Login:</td>
		<td><input type="text" name="login" maxlength="50" size="50"/></td>
	</tr>	
	<tr>
		<td>Senha:</td>
		<td><input type="password" name="senha" maxlength="50" size="20"/></td>
	</tr>
	<tr>
		<td>Confirmar senha:</td>
		<td><input type="password" name="senhateste" maxlength="50" size="20"/></td>
	</tr>
</table>
	
	
	<table>
	
	<tr>
		<td>Nivel de Usuário:</td>
	</tr>
	
	
	<tr>	
		<td><label for="tec">Técnico                 </label></td><td><input type="radio" id="tec" name="nivel_usuario" value="tecnico"/></td><td><label for="assce">Assessor</label></td><td><input type="radio" id="assce" name="nivel_usuario" value="assessor"/></td>
	</tr>
	
	
	<tr>	
		<td><label for="cord">Cordenador          </label></td><td><input type="radio" id="cord" name="nivel_usuario" value="cordenador"/></td><td><label for="ger">Gerente  </label></td><td><input type="radio"  id="ger" name="nivel_usuario" value="gerente"/></td>
	</tr>
	
	
	<tr>	
		<td><label for="adm">Administrativo       </label></td><td><input type="radio" name="nivel_usuario" value="administrativo"/></td><td>Outros</td><td><input type="radio" name="nivel_usuario" value="outros"/></td>
	</tr>
		
</table>
	
<table>
	<tr>
		<td><input type="submit"  value="Confirmar Cadastro"/></td>
		<td><input type="reset" value="Limpar Campos"/></td>
</table>
	
</form>
</body>
</html>


e o javascript externo esta assim


function verificatecnicos(){
	
	var msg="";
	var nome=document.form_cadastro_tecnicos.nome.value;
	var endereco=document.form_cadastro_tecnicos.endereco.value;
	var fone_celular=document.form_cadastro_tecnicos.fone_celular.value;
	var fone_residencial=document.form_cadastro_tecnicos.fone_residencial.value;
	var bairro=document.form_cadastro_tecnicos.bairro.value;
	var cidade=document.form_cadastro_tecnicos.cidade.value;
	var email=document.form_cadastro_tecnicos.email.value;
	var msn=document.form_cadastro_tecnicos.msn.value;
	var rg=document.form_cadastro_tecnicos.rg.value;
	var cpf=document.form_cadastro_tecnicos.cpf.value;
	var crva=document.form_cadastro_tecnicos.crva.value;
	var login=document.form_cadastro_tecnicos.login.value;
	var senha=document.form_cadastro_tecnicos.senha.value;
	var senhateste=document.form_cadastro_tecnicos.senhateste.value;

	if(senha!=senhateste)
		alert("Senhas digitadas não conferem.");
	else{
	if(nome.length==0)	msg += "Nome não digitado.\n";
	if(endereco.length==0) msg+= "Endereço não digitado.\n";
	if(fone_celular.length<13) msg+= "Telefone celular em formato inválido/não digitado.\n";
	if(fone_residencial.length<13) msg+= "Telefone residencial em formato inválido/não digitado.\n";
	if(bairro.length==0) msg+= "Bairro não digitado.\n";
	if(cidade.length==0) msg+= "Cidade não digitada.\n";
	if(email.length==0) msg+= "E-mail não digitado.\n";
	if(msn.length==0) msg+= "Msn não digitado.\n";
	if(rg==0) msg+= "Rg não digitado.\n";
	if(crva.length==0) msg+= "Crva não digitado.\n";
	if(cpf.length<14) msg+= "Cpf não digitado/inválido.\n";
	if(login.length==0) msg+= "Login não digitado.\n";
	if(senha.length<8) msg+= "Senha com menos de 8 caracteres.\n";
	alert(msg);
	
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não use: language="javascript" isso está ultrapassado, e é desnecessário.

 

Fique somente com o atributo type

 

faça um return:

<form name="form_cadastro_tecnicos" method="post" onsubmit="return verificatecnicos();" action="trata_cadastro_tecnicos.php">

e então troque:

alert(msg);
por:

if( msg=='' )
			return true;
		else {
			alert(msg);
			return false;
		}

Repense na lógica deste if:

if(senha!=senhateste)
                alert("Senhas digitadas não conferem.");
        else{
no minimo você vai precisar adicionar um return false abaixo, mas ainda assim, tente fazer de uma forma mais clara.

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse language foi o professor que ensinou, uns que eu fiz antes não usava, passei a usar pelo fato dele dizer que tinha que usar, se nao presciza deixo de usar mesmo, quando voce disse repensar a logica do if, seria isto?

 

function verificatecnicos(){
	
	var msg="";
	var nome=document.form_cadastro_tecnicos.nome.value;
	var endereco=document.form_cadastro_tecnicos.endereco.value;
	var fone_celular=document.form_cadastro_tecnicos.fone_celular.value;
	var fone_residencial=document.form_cadastro_tecnicos.fone_residencial.value;
	var bairro=document.form_cadastro_tecnicos.bairro.value;
	var cidade=document.form_cadastro_tecnicos.cidade.value;
	var email=document.form_cadastro_tecnicos.email.value;
	var msn=document.form_cadastro_tecnicos.msn.value;
	var rg=document.form_cadastro_tecnicos.rg.value;
	var cpf=document.form_cadastro_tecnicos.cpf.value;
	var crva=document.form_cadastro_tecnicos.crva.value;
	var login=document.form_cadastro_tecnicos.login.value;
	var senha=document.form_cadastro_tecnicos.senha.value;
	var senhateste=document.form_cadastro_tecnicos.senhateste.value;

	if(senha!=senhateste){ 
		msg+="As senhas digitadas não conferem.";
}

	else if(senha==senhateste){
	if(nome.length==0)	msg += "Nome não digitado.\n";
	if(endereco.length==0) msg+= "Endereço não digitado.\n";
	if(fone_celular.length<13) msg+= "Telefone celular em formato inválido/não digitado.\n";
	if(fone_residencial.length<13) msg+= "Telefone residencial em formato inválido/não digitado.\n";
	if(bairro.length==0) msg+= "Bairro não digitado.\n";
	if(cidade.length==0) msg+= "Cidade não digitada.\n";
	if(email.length==0) msg+= "E-mail não digitado.\n";
	if(msn.length==0) msg+= "Msn não digitado.\n";
	if(rg==0) msg+= "Rg não digitado.\n";
	if(crva.length==0) msg+= "Crva não digitado.\n";
	if(cpf.length<14) msg+= "Cpf não digitado/inválido.\n";
	if(login.length==0) msg+= "Login não digitado.\n";
	if(senha.length<8) msg+= "Senha com menos de 8 caracteres.\n";
	
	
	}
	
	if(msg=='') return true;
	
	else{
		alert(msg);
		return false;	
	}
	
}
grato pela ajuda, funcionou \0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não.

 

É que veja, se preencher as senhas erradas, vai dar o alert(), não vai ir pro else, e vai enviar o formulário.

 

Se não tem 'nada de especial', você pode remover por completo esse if/else.

 

Então o teu professor está bem desatualizado.. pergunta: 'E por que tenho que usar o atributo language? se existe o type?'

 

Qualquer resposta que ele dê, que não justifique 'trocar a versão do Javascript' com oqual você escreveu o script, estará errada. Como isso não é necessário hoje em dia, e todos os navegadores já rodam JS1.5, não tem sentido usar language.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu de novo, a função funciona quase 100%, mas não estou conseguindo fazer ela funcionar com dados vindos de um campo tipo radio, tenho 3 radio buttons que apenas um pode ser escolhido, esse campo, quando coloco o

if(teste.length==0) msg+="teste não preenchido.\n";
tranca a função e ela nao executa nada dela, alguma ideia do que pode ser?

(espero nao estar reutilizando demais esse topico, mas não queria abrir novos se estão me ajudando aqui)

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.