Ir para conteúdo

POWERED BY:

Arquivado

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

pyro_fire

Validação não funciona no IE7 (em outro form funciona)

Recommended Posts

Tenho uma validação contra campos vazios, bem simples, utilizando CSS, no FF funciona 100% no IE7 sempre funcionou (em outros sites) contudo estou tentando fazer funcionar em outro site e não trava o carregamento nem acusa erro, o estranho é que em um lugar funciona no IE7 e nesse não, já chequei todo o código e não localizei nada de errado, muito estranho mesmo.

Olha o código que não está funcionando:

Arquivo CSS:

/* Customização de erros de validação JavaScript */#erroLayer{	position: fixed;	left: 50%;	width: 400px;	margin-left: -200px;	background-color: #FFD9D9;	border: 2px solid #FF9D93;	color: #000;	padding: 0 0 5px 1em;	font-family: "Trebuchet MS", Arial, sans-serif;	font-size: small;	text-align: left;	z-index:1000;}#erroLayer h3{	position:relative;	background-color: #FF9D93;	margin: 0 0 0.5em -0.5em;	padding: 0.5em 1em;	width:100%;}#erroLayer ol{	margin: 0 0 5px;	padding: 0;	list-style-position: inside;	list-style-type: decimal;	line-height: 1.5em;}

Arquivo JS incluido:

//Função para fechar layer de erros de validaçãofunction closeLayer(){	document.getElementById("erroLayer").style.display = "none";	document.getElementById("erroLayer").innerHTML = conf;	document.getElementById("bodyOverlay").style.display = "none";}//Cor do fundo de campo com erro de validaçãovar backGroundColor = "#FFE3E3";//Cabeçalho da layer de errovar errorHead = "<div id=erroLayerTitulo>Erros de validação no formulário</div>";//Montagem do botão da layer de errosvar errorButton = "<a href=java script:closeLayer() class=erro><div id=erroLayerButton>Corrigir</div></a>";
Arquivo do Form com script de validação:

<script type="application/javascript" language="javascript">function valida_campos(){	conf = errorHead + "<ol>";	controle = false;		if((document.getElementById("nome").value == "") || (document.getElementById("nome").value.substring(0,1) == " ")){		conf = conf + "\n <li>O campo NOME deve ser informado!</li>";		document.getElementById("nome").style.backgroundColor = backGroundColor;		controle = true;	}	if((document.getElementById("colaborador").value == "") || (document.getElementById("colaborador").value.substring(0,1) == " ")){		conf = conf + "\n <li>O campo COLABORADOR deve ser informado!</li>";		document.getElementById("colaborador").style.backgroundColor = backGroundColor;		controle = true;	}		conf = conf + "</ol>" + errorButton;		if (controle == true) {		  document.getElementById("erroLayer").style.display = "block";		  document.getElementById("erroLayer").innerHTML = conf;		document.getElementById("bodyOverlay").style.display = "block";		controle = false;		return false;	}	}</script><!-- div oculta que é ativa em caso de erro na validação --><div id="erroLayer" style="display:none"></div>		<div id="bodyOverlay" style="display:none"></div><!-- clique do botão --><input type="submit" id="enviar" value="Enviar" onClick="java script:return valida_campos()"/>

Esse código faz um overlay e abre uma div formatada via CSS para indicar os campos com erro, é bem simples, mas não sei mais o que fazer para funcionar no IE7 se antes estava e agora não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí que tá estranho, não dá mensagem de erro, não valida, cai direto pro meu script de envio de e-mail como se não tivesse nenhum processo de validação.E em outros casos usei o mesmo processo e fucionava no IE7.Tentei fazer debug pelo Firebug (FF) e pelo DevToolbar (IE7) e não acusa erro algum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz o seguinte, na tag de javascript ao invés de :

 

<script type="application/javascript" language="javascript">

escreva:

 

<script type="text/javascript">

Acho que o problema é apenas este :P

 

----

post mesclado

---

 

Oops.. vi outro erro:

 

Retire o evento onclick do botão enviar e na tag form inclua o evento OnSubmit="return valida_campos();"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara valeu mesmo deixo só assim:

<script language="javascript">
E já tá funcionando.

 

Só para constar, deixei o onClick no botão e tá funcionando, o erro era somente o citado acima mesmo.

 

Vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pyro_fire, não entendi, mas se funcionou é o que importa heheh.abraços!

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.