Ir para conteúdo

POWERED BY:

Arquivado

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

d.eleete

JS pra validação v2.0

Recommended Posts

O codigo abaixo é bem parecido com o anterior, soh q a vantagem eh que ele busca automaticamente os campos do formulario e pede pra valida-los.. dando um foco e mudando a cor de fundo, agora tbm ele desabilita o submit no final para evitar 2 clicks! Segue :

<script LANGUAGE="JavaScript">function setColor(el, bg) { if (el.style) el.style.backgroundColor = bg;}function valida(form){ var bgBad = "#D2E6F0"; var bgGood = "white"; var valid = true;  for (var i = 0; i < form.elements.length; i++) {	if (form.elements[i].value == ""){  setColor(form.elements[i], bgBad);  form.elements[i].focus()  return false	}		else {  setColor(form.elements[i], bgGood);	}	}setColor(form.botao, "") /* Coloque o nome do botao como botao.. heheh(neste caso é obrigatorio instanciar)*/form.botao.disabled = true; return true}</script>No inicio: <form name="form1" method="POST" onSubmit="return valida(this);" action="">... . . .No fim:  <input name="botao"  type="submit" value="Avançar >"></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

po vcs podem pensar.. "Nada a ver isso aí ".. mas eu acho um grão fazer validacao por server side... ai tem q gravar em cookies os dados, é chatinho...

Compartilhar este post


Link para o post
Compartilhar em outros sites

. . .No fim: <input name="botao" type="submit" value="Avançar >" name="enviar"></form>ta com dois name="xxx" :) ficou irado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

. . .No fim: <input name="botao" type="submit" value="Avançar >" name="enviar"></form>ta com dois name="xxx" :) ficou irado!

Eita.. verdade.. ja corrigi... Valeu!mas eh o primeiro name q vale.. (por isso q eu acho q ta funcionando :) )

Compartilhar este post


Link para o post
Compartilhar em outros sites

Updating.. o codigo abaixo esta com mais uma vantagem :)

 

agora você escolhe qual campo quer q valide.. basta colocar um elemento chamado valida="y", no campo, veja:

 

<input name="endereco" valida="y" type="text" class="campos" id="endereco" size="35" maxlength="100">

 

Todo campo com este elemento será validado!

 

<script LANGUAGE="JavaScript">function setColor(el, bg) { if (el.style) el.style.backgroundColor = bg;}function valida(form){ var bgBad = "#D2E6F0"; var bgGood = "white"; var valid = true;  for (var i = 0; i < form.elements.length; i++) {	if (form.elements[i].valida == "y" && form.elements[i].value == ""){  setColor(form.elements[i], bgBad);  form.elements[i].focus()  return false	}		else {  setColor(form.elements[i], bgGood);	}	}setColor(form.botao, "") /* Coloque o nome do botao como botao.. heheh(neste caso é obrigatorio instanciar)*/form.botao.disabled = true; return true}</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

legal! esse valida="y" eu não conhecia

Eh um elemento q eu criei ;) podia ser qualquer nome....Mas agora eu fiz um update no codigo :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

d.eeletePor que você não implementa mais uma classe "tipo de campo"Então ficaria mais ou menos assomSelect Case TipoCampo Case "TExto" then ValidaCampoTexto Case "Numero" then ValidaCampoValor Case "Data" then ValidaCampoDataEnd Select

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue V3.0

 

<script LANGUAGE="JavaScript">function setColor(el, bg) { if (el.style) el.style.backgroundColor = bg;}function valida(form){ var bgBad = "#D2E6F0"; var bgGood = "white"; var bgButton = ""; var valid = true;  for (var i = 0; i < form.elements.length; i++) {  if (form.elements[i].type != "submit" && form.elements[i].type != "reset" && form.elements[i].type != "button"){  if (form.elements[i].valida == "y" && form.elements[i].value == ""){  	setColor(form.elements[i], bgBad);  	form.elements[i].focus()  	return false  }	  else {  	setColor(form.elements[i], bgGood);  }		}}/*** Desabilitando os botoes apos o submit! ***/for (i = 0; i < form.length; i++) {var tempobj = form.elements[i];	if (tempobj.type.toLowerCase() == "submit" || tempobj.type.toLowerCase() == "reset" || tempobj.type.toLowerCase() == "button"){	tempobj.disabled = true;	}}/*****/return true}</script>

HOWTO:

 

1<form name="qualquernome" method="POST" onSubmit="return valida(this);" action="">

2<input name="qualquernome" valida="y" type="text">

3<input type="submit" value="Enviar">

 

Basta colocar o elemento valida="y" nos campos q deseja validar

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.