Ir para conteúdo

POWERED BY:

Arquivado

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

cintiadel

[Resolvido] Validação que não está funcionando

Recommended Posts

Fiz a seguinte validação

<script type="text/JavaScript">
<!--
function mascara(o,f){
	v_obj=o
	v_fun=f
	setTimeout("execmascara()",1)
}

function execmascara(){
	v_obj.value=v_fun(v_obj.value)
}


function data(v){
  v=v.replace(/\D/g,"")						   //Remove tudo o que não é dígito
	v=v.replace(/^(\d{2})(\d)/,"$1/$2")			 //Coloca ponto entre o segundo e o terceiro dígitos
	v=v.replace(/^(\d{2})\/(\d{2})(\d)/,"$1/$2/$3")
	return v
}

function email(){
	if (document.form.pesqemail.value.indexOf(”@”)==-1||document.form.pesqemail.value.indexOf(”.”)==-1){
	alert(’Digite um Email válido.’);
	}else{  document.form.submit();  }
}

<!--
String.prototype.LTrim = function() {
	return this.replace(/^\s*(.*)/gmi, "$1");
}
String.prototype.RTrim = function() {
	return this.replace(/(.*?)\s*$/gmi, "$1");
}
String.prototype.Trim = function() {
	return this.replace(/^\s*(.*?)\s*$/gmi, "$1");
} 

function validaForm(form){
Vetor1 = new Array('Nome','Data de Nascimento','E-mail','Endereço','Número','Complemento','Bairro','Cidade','Estado','Cep','Local','Preço','Nota Ambiente','Nota Comida','Nota Serviço','Comentário','Preço','Nota Ambiente','Nota Comida','Nota Serviço','Comentário', 'Preço','Nota Ambiente','Nota Comida','Nota Serviço','Comentário','Preço','Nota Ambiente','Nota Comida','Nota Serviço','Comentário','Preço','Nota Ambiente','Nota Comida','Nota Serviço','Comentário',);
Vetor2 = new Array('S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N');

var temp = "";
for (ci=0;ci<form.length;ci++){
var obg = form[ci].name.indexOf("pesq");
temp=form[ci].value;
if (obg == 0){

if (Vetor2[ci] == "S"){

if (temp.Trim().length == 0){
var nome = form[ci].name.substring(1,form[ci].name.length);
//mostrar(Vetor4[ci]);
alert("O campo " + Vetor1[ci].toUpperCase() + " é obrigatório.")
form[ci].focus();
return false
}}}}
}
//-->
</script>

no form esta assim

<form id="participe" name="participe" method="post" onsubmit="return validaForm(this,form)" action="GravaParticipe.asp">

e no campo eu chamo assim:

<input name="pesqdtnasc" type="text" id="datanasc" onkeypress="mascara(this,data)" size="16" maxlength="8" />

mas não formata o campo e nem os campos obrigatorios, onde estou errando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A tah acho q entendi, você quer validar campo data...

 

Arrumei aqui no meu e deu certo:

 

Nessa linha: alert('Digite um Email válido.'); //Tinha ASPAS ERRADAS

E nessa linha: Vetor1 = new Array('Nome','Data de Nascimento','E-mail','Endereço','Número','Complemento','Bairro','Cidade','Estado','Cep','Local','Preço','Nota Ambiente','Nota Comida','Nota Serviço','Comentário','Preço','Nota Ambiente','Nota Comida','Nota Serviço','Comentário', 'Preço','Nota Ambiente','Nota Comida','Nota Serviço','Comentário','Preço','Nota Ambiente','Nota Comida','Nota Serviço','Comentário','Preço','Nota Ambiente','Nota Comida','Nota Serviço','Comentário',); //Tinha essa vírgula aqui pra mais

 

 

 

<script type="text/JavaScript">
<!--
function mascara(o,f){
	v_obj=o
	v_fun=f
	setTimeout("execmascara()",1)
}

function execmascara(){
	v_obj.value=v_fun(v_obj.value)
}


function data(v){
  v=v.replace(/\D/g,"")						   //Remove tudo o que não é dígito
	v=v.replace(/^(\d{2})(\d)/,"$1/$2")			 //Coloca ponto entre o segundo e o terceiro dígitos
	v=v.replace(/^(\d{2})\/(\d{2})(\d)/,"$1/$2/$3")
	return v
}

function email(){
	if (document.form.pesqemail.value.indexOf('@')==-1||document.form.pesqemail.value.indexOf('.')==-1){
	alert('Digite um Email válido.'); // AQUI AS ASPAS ESTAVAM ERRADAS
	}else{  document.form.submit();  }
}

<!--
String.prototype.LTrim = function() {
	return this.replace(/^\s*(.*)/gmi, "$1");
}
String.prototype.RTrim = function() {
	return this.replace(/(.*?)\s*$/gmi, "$1");
}
String.prototype.Trim = function() {
	return this.replace(/^\s*(.*?)\s*$/gmi, "$1");
} 

function validaForm(form){
Vetor1 = new Array('Nome','Data de Nascimento','E-mail','Endereço','Número','Complemento','Bairro','Cidade','Estado','Cep','Local','Preço','Nota Ambiente','Nota Comida','Nota Serviço','Comentário','Preço','Nota Ambiente','Nota Comida','Nota Serviço','Comentário', 'Preço','Nota Ambiente','Nota Comida','Nota Serviço','Comentário','Preço','Nota Ambiente','Nota Comida','Nota Serviço','Comentário','Preço','Nota Ambiente','Nota Comida','Nota Serviço','Comentário'); // AQUI TINHA UMA VÍRGULA PRA MAIS
Vetor2 = new Array('S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N');

var temp = "";
for (ci=0;ci<form.length;ci++){
var obg = form[ci].name.indexOf("pesq");
temp=form[ci].value;
if (obg == 0){

if (Vetor2[ci] == "S"){

if (temp.Trim().length == 0){
var nome = form[ci].name.substring(1,form[ci].name.length);
//mostrar(Vetor4[ci]);
alert("O campo " + Vetor1[ci].toUpperCase() + " é obrigatório.")
form[ci].focus();
return false
}}}}
}
//-->
</script>


<form id="participe" name="participe" method="post" onsubmit="return validaForm(this,form)" action="GravaParticipe.asp">



<input name="pesqdtnasc" type="text" id="datanasc" onkeypress="mascara(this,data)" size="16" maxlength="8" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu sei q é muita burrice mas n manjo nda de javascript esse eu ja tinha corrigido que um amigo me ajudou, estou com mais uma dúvida tem um formulario com textbox ele está preenchido com Nome por exemplo, quero q ao clicar no campo suma esse valor e pegue o que eu digitar. Tipo limpar o campo ao clicar, tem função javascript pra isso???E tbm to com outro q tbm n ta validando, pode me ajudar:

<script type="text/Javascript">
<!--
function mascara(o,f){
	v_obj=o
	v_fun=f
	setTimeout("execmascara()",1)
}

function execmascara(){
	v_obj.value=v_fun(v_obj.value)
}

function soNumeros(v){
	return v.replace(/\D/g,"") //Remove tudo o que não é dígito
}


function telefone(v){
	v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
		v=v.replace(/^(\d{4})(\d)/,"$1-$2") //Esse é tão fácil que não merece explicações
		return v
}

function cep(v){
	v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
		v=v.replace(/^(\d{5})(\d)/,"$1-$2") //Esse é tão fácil que não merece explicações
		return v
}

function email(){

	if (document.participe.pesqemail.value != "") {
		if (document.participe.pesqemail.value.indexOf("@")==-1||document.participe.pesqemail.value.indexOf(".")==-1){
			alert('Digite um Email válido.');
			document.participe.pesqemail.value="";
			document.participe.pesqemail.focus();
		}
	}
}

<!--
String.prototype.LTrim = function() {
	return this.replace(/^\s*(.*)/gmi, "$1");
}
String.prototype.RTrim = function() {
	return this.replace(/(.*?)\s*$/gmi, "$1");
}
String.prototype.Trim = function() {
	return this.replace(/^\s*(.*?)\s*$/gmi, "$1");
} 

function validaForm(form){

	Vetor1 = new Array('Nome','Empresa','Endereço','Complemento','DDD','Telefone','Cep','Bairro','Cidade','Estado','Quantidade','Email');
	Vetor2 = new Array('S','S','S','S','S','S','S','S','S','S','S','S');

	var temp = "";
	
	for (ci=0;ci<form.length;ci++){
		var obg = form[ci].name.indexOf("pesq");
		temp=form[ci].value;
		
		if (obg == 0){

			if (Vetor2[ci] == "S"){
				if (temp.Trim().length == 0){
					var nome = form[ci].name.substring(1,form[ci].name.length);
					//mostrar(Vetor4[ci]);
					alert("O campo " + Vetor1[ci].toUpperCase() + " é obrigatório.")
					form[ci].focus();
					return false
				}
			}
		}
	}
}
//-->
</script>

no form

<form id="compra" name="compra" method="post" onsubmit="return validaForm(this)" action="GravaCompre.asp">

e nos campos

<input name="ddd" type="text" id="ddd" size="3" onkeypress="mascara(this,soNumeros);" maxlength="3" />
- <input name="telefone" type="text" id="telefone" size="18" maxlength="10" onkeypress="mascara(this,telefone);"/></td>
input name="cep" type="text" id="cep" onkeypress="mascara(this,cep);" maxlength="9"/></td>
<input name="email" type="text" id="email" maxlength="30" onblur="email();"/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que mais você precisa?

Pra limpar o campo quando clicar é só acrescentar isso:

onClick="if(this.value == 'AQUI VAI O QUE DEVE APARECER ESCRITO (no seu exemplo ve NOME)') this.value = '';"

 

ok?

 

BJÃO!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que mais você precisa?

Pra limpar o campo quando clicar é só acrescentar isso:

onClick="if(this.value == 'AQUI VAI O QUE DEVE APARECER ESCRITO (no seu exemplo ve NOME)') this.value = '';"

 

ok?

 

BJÃO!

valeu, mas isso eu já resolvi, agora preciso saber pq a minha validação q o codigo esta postado nao funciona. principalmente as mascaras como e-mail qdo n é preenchido corretamente???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou dar uma olhada e já te respondo.

 

Beijos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esqueci! uhAauhauhauhaaUH

Me perdoa por favor! Vou ver agora http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado por perdoar! Para me redimir eu concertei teu script! AUHAuhaauhAUHA

 

bom... vou te explicar o q tava pegando:

  • Você estava utilizando o mesmo nome tanto para funççoes quando para elementos do formulário (por exemplo: tinha um campo chamado TELEFONE e uma função chamada TELEFONE também). Isso não pode! O JavaScript se confunde (ele não gosta dessas coisas rs...)!
  • Na validação de e-mail o problema estava nos nomes dos objetos (o nome do formulário e do campo de e-mail listados na função são diferentes do que você setou neles).

É só mudar essas coisinhas que fica tuuuuuuuuudo beleza! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

BJÃO!!! http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado por perdoar! Para me redimir eu concertei teu script! AUHAuhaauhAUHA

 

bom... vou te explicar o q tava pegando:

  • Você estava utilizando o mesmo nome tanto para funççoes quando para elementos do formulário (por exemplo: tinha um campo chamado TELEFONE e uma função chamada TELEFONE também). Isso não pode! O JavaScript se confunde (ele não gosta dessas coisas rs...)!
  • Na validação de e-mail o problema estava nos nomes dos objetos (o nome do formulário e do campo de e-mail listados na função são diferentes do que você setou neles).

É só mudar essas coisinhas que fica tuuuuuuuuudo beleza! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

BJÃO!!! http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

mesmo assim a do cep e do email n funcionaram.

Funções:

function fcep(v){
	v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
		v=v.replace(/^(\d{5})(\d)/,"$1-$2") //Esse é tão fácil que não merece explicações
		return v
}

function email(){

	if (document.compre.email.value != "") {
		if (document.compre.email.value.indexOf("@")==-1||document.compre.email.value.indexOf(".")==-1){
			alert('Digite um Email válido.');
			document.compre.email.value="";
			document.compre.email.focus();
		}
	}

form

<form id="compre" name="compre" method="post" onsubmit="return validaForm(this)" action="GravaCompre.asp" target="principal">

chamada

<input name="cep" type="text" id="cep" onkeypress="mascara(this,fcep);" size="17" maxlength="9"/>
<input name="email" type="text" id="email" size="17" onblur="email();"/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas a do e-mail você ainda não alterou o nome da função! Continua igual à do campo e não pode...

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas a do e-mail você ainda não alterou o nome da função! Continua igual à do campo e não pode...

me desculpe pela falta de atençao, agora funcionou valeu pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aeeeeeeee!!! Conseguimos!!!!!!!!!!! rs....

 

Rolou então?

Parabéns!! :D

 

Beijos! ;)

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.