Ir para conteúdo

POWERED BY:

Arquivado

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

schumacker

Como Passar Um Array De Valores Por Parâmetro

Recommended Posts

Ae pessoal,

 

To fazendo uma função única de validação de campos de fomulário, no qual, independente do formulário que eu tenha, eu posso utilizar somente esta função de validação que irá funcionar.

 

Na TAG do formulário eu ponho:

 

 

<form name="form" action="pagina.php" method="post" onsubmit="return validar(param1, param2);">

Onde nessa funcao validar(string, array) ela será da seguinte forma:

O param 1 armazenara o nome do fomulário.

Exemplo: document.form

 

O param 2 será opcional. Neste param2 eu irei inserir um array com os nomes Excessão dos campos do formulário que no qual eu NAO desejo validar.

Exemplo: complemento, numero.

 

 

Como passo nesse param2 um array de valores como parâmetro?

 

E depois de passar como parametro, minha função abaixo irá funcionar corretamente???

 

 

function validar( form, aExcessoes ) 	{  var d 	 = form;  var total  = d.elements.length;  var total2  = aExcessoes.length;  var focar	= 9999;  erro    = new String;  erro    = "Por favor, preencha o(s) campo(s): \n";    if(total2 > 0)  { 	 for (k=0; k<total2; k++) 	 {    for (i=0; i<total; i++)    {   	 if (d.elements[i].type == "text" && d.elements[i].value == "" && d.elements[i].name != aExcessoes[k]){      erro += d.elements[i].name.toUpperCase() + "\n";      if(focar == 9999) { focar = i; }   	 }    } 	 }  }  else  { 	 for (i=0; i<total; i++) 	 {    if (d.elements[i].type == "text" && d.elements[i].value == ""){   	 erro += d.elements[i].name.toUpperCase() + "\n";   	 if(focar == 9999) { focar = i; }    } 	 }  }  if (erro.length > 0){ 	 alert(erro); 	 d.elements[focar].focus(); 	 return false;  }	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... dessa forma é mais trabalhoso e bem mais confuso! EU fiz um script assim também, onde eu valido todos os campos de qualquer form. Porém, o sistema só vai validar os campos obrigatórios, os quais defino inserindo o parâmetro ALT com o valor REQUIRED em cada campo que julgar necessário!

Ex.: <input.... alt="required" />

 

Se você quiser fazer assim, te mando o script! ;)

 

FLOOWWWW!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok! :D

 

A codificação é a seguinte:

 

<script language="JavaScript">
function validaForm(oForm) {
	var erro = "Preenchimento Obrigatório";
	for(i=0;i<(oForm.length-2);i++) {
		if((oForm[i].value == "" || oForm[i].value == erro) && oForm[i].alt == "required") {
			oForm[i].value = erro;
			destaqueErro(0,oForm[i].id);
			oForm[i].focus();
			return false;
		}
		else {
			if(oForm[i].alt == "required") destaqueErro(1,oForm[i].id);
		}
	}
}

function destaqueErro(act,elemento) {
	var el = document.getElementById(elemento);
	if(act == 0) {
		el.className = "campoObrigatorio";
	}
	else {
		el.className = "campoOk";
	}
}
</script>

 

Na função DESTAQUEERRO eu só alterno os CSSs para dinamizar um pouco mais o sistema! eheheh... aí você pode utilizar a imaginação! ;)

No meu form, eu só alterei a cor da borda. :D

 

Agora é só chamar essa função no ONSUBMIT do form e pronto! ;)

 

Segue um form de exemplo:

 

<form name="formulario" id="formulario" method="Post" action="envia.asp" onSubmit="return validaForm(this);">
<input type="text" id="campo1" name="campo1" alt="Required" /><br />
<input type="text" id="campo2" name="campo2" /><br />
<input type="text" id="campo3" name="campo3" alt="Required" /><br />
<input type="submit" id="envio" name="envio" value"Enviar" />
<input type="reset" id="limpa" name="limpa" value"Limpar" />
</form>

 

Testaí e veja se funfa legal! ;)

 

FLOWWW!!

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.