Foros del Web » Programando para Internet » Javascript »

Validacion Formulario

Estas en el tema de Validacion Formulario en el foro de Javascript en Foros del Web. Hoola vereis tengo este codigo: Código: <script> function comprobar() { var mal=false; numero=document.forms[0].elements.length; var pos1, pos2, pos3 = true; var correo = document.formulario.email.value; for(a=0;a<numero;a++){ if ...
  #1 (permalink)  
Antiguo 07/02/2010, 03:54
Avatar de orchating  
Fecha de Ingreso: marzo-2009
Ubicación: Madrid
Mensajes: 92
Antigüedad: 15 años, 1 mes
Puntos: 0
Validacion Formulario

Hoola vereis tengo este codigo:

Código:
<script>
    function comprobar()
	{
	var mal=false;
    numero=document.forms[0].elements.length;
	var pos1, pos2, pos3 = true; 
    var correo = document.formulario.email.value; 
    for(a=0;a<numero;a++){
    if (document.forms[0].elements[a].value==""){document.forms[0].elements[a].style.backgroundColor="#ffffcc";mal=true;}
    else{document.forms[0].elements[a].style.backgroundColor="white";}
    } 
    pos1 = correo.indexOf('@', 0); 
    pos2 = correo.indexOf('.', 0); 
    pos3 = pos3 && (pos1 > 0); 
    pos3 = pos3 && (pos2 != -1); 
    pos3 = pos3 && (pos1 < pos2 - 1); 
    pos3 = pos3 && (pos2 < correo.length - 1);   
	if(!pos3){alert("E-mail Incorrecto");}
    else{document.forms[0].submit()}
    } 	
	if(mal){alert("Por favor, rellene todos los campos");}
    else{document.forms[0].submit()}
    }
    </script>

No veo donde esta el fallo lo que pretendo hacer es que cuando no inserte cualquiera campo diga rellenalos y se ponga de otro color y si meten el correo y este esta mal que diga email incorrecto, pero no se no lo hago funcionar.

Si alguien su`piera donde ve el fallo... muchas gracias de antemano

Última edición por orchating; 07/02/2010 a las 10:12
  #2 (permalink)  
Antiguo 07/02/2010, 13:33
Avatar de orchating  
Fecha de Ingreso: marzo-2009
Ubicación: Madrid
Mensajes: 92
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Validacion Formulario

Tengo psobiblemente una mejor solucion, Estoy intentado convinarlos pero soy incapaz, me valida y aunke el correo este mal lo envia...


1º Script que valida los campos.

Código:
<script>
    function comprobar(){var mal=false;
    numero=document.forms[0].elements.length;
    for(a=0;a<numero;a++){
    if (document.forms[0].elements[a].value==""){document.forms[0].elements[a].style.backgroundColor="#ffffcc";mal=true;}
    else{document.forms[0].elements[a].style.backgroundColor="white";}
    }
    if(mal){alert("Por favor, rellene todos los campos");}
    else{document.forms[0].submit()}

    }
    </script>
2º Script que valida que el correo este bien.

Código:
<script language="JavaScript"> 
     function Validar(form)
	{ 
      var pos1, pos2, pos3 = true; 
      var correo = document.formulario.email.value; 
      if (correo == "")
	{
	  document.formulario.email.style.backgroundColor="#ffffcc";
      document.formulario.email.focus(); 
      return false; 
    } 
      pos1 = correo.indexOf('@', 0); 
      pos2 = correo.indexOf('.', 0); 
      pos3 = pos3 && (pos1 > 0); 
      pos3 = pos3 && (pos2 != -1); 
      pos3 = pos3 && (pos1 < pos2 - 1); 
      pos3 = pos3 && (pos2 < correo.length - 1); 
      if (!pos3)
	{ 
      alert("E-mail Incorrecto"); 
      document.formulario.email.focus(); 
      return false; 
    } 
   } 
  </script>
Una pequeña ayuda se agradece...
  #3 (permalink)  
Antiguo 07/02/2010, 15:57
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Validacion Formulario

Hola:

Llevo unos días viendo validaciones horrorosas... forzadas con el método submit()... el mismo caso tuyo.

Te recomiendo que leas este artículo/tutorial: El abc de los formularios, donde se explica bastante bien las validaciones (escrito después de algunos años de experiencia), y también encontrarás la validación de emails con expresiones regulares...

También se explica cómo combinar validaciones (pero correctamente)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 07/02/2010, 20:17
Avatar de orchating  
Fecha de Ingreso: marzo-2009
Ubicación: Madrid
Mensajes: 92
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Validacion Formulario

Gracias de todas maneras caricatos encontre un blog en el que modifique unas cosillas y me funciono a la perfeccion os invito a ver la pagina todavia esta en construcion.

http://www.cercedillaventura.com

Etiquetas: formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:01.