Comunidad de diseño web y desarrollo en internet online

Fallo de script de validacion de formularios en ie

Citar            
MensajeEscrito el 06 Nov 2007 03:43 am
la cosa es que nunca trabaje en js pese a que si trabajo en otros, y no se exactamente porque me da fallo, la cosa es que en la validacion del mail en firefox exige con este codigo que todos los campos cumplan las normas que les puse... pero en ie no, solo con tener bien escrito el mail ya se envia sin considerar el resto de nromas... y no se porque es y me tiene loco... gracias a quien me ayude xD... y a quien no tb


Código :

<script language="javascript" type="text/javascript">
 
//variable de diferenciacion  
 
  var ref = 0
 
// var de los campos 
  
  var nom 
  var emp
  var mai
  var men
  

//las variables seran modificadas o por una y (yes cuando es correcto) o por n (negativ), para despues poder controlar que debe suceder.

  function validar()
  {
   
    // 1ª parte estudio y validacion de si todos los campos estan rellenos devolviendonos la variable de si si, o de si no se completaron
    // se envia la referencia (yes/ no)
      
    if (document.getElementById("nombre").value == "")
    {nom = "n"}
      else {nom = "y"}
      ref++
    if (document.getElementById("empresa").value == "")
    {emp = "n"}
      else {emp = "y"}
      ref++
    
    //validacion del mail
    
 [b]   if(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(document.getElementById("mail").value)==0 || mail.length==0)
    {mai = "n"}
      else {mai = "y"} [/b]
 
    /*
    if (document.getElementById("mail").value == "")
    {mai = "n"}
      else {mai = "y"}
    */
      ref++      
    if (document.getElementById("mensaje").value == "")
    {men = "n"}
      else {men = "y"}
  
  // vamos a mostrar e indicar que se muestre a partir de cada dato que contengan las variables creadas un mensaje de error
  // estos mensajes se mostraran a la derecha del campo afectado
  
    if (nom == "n")
    {
      document.getElementById("cam_nom").innerHTML = " Campo obligatorio."; // introduzco el texto de error que he seleccionado
      document.getElementById("nombre").style.borderColor = "#FF0000" // cambiamos el color de cuadro de texto a rojo
    }
      else
      {
        document.getElementById("cam_nom").innerHTML = "";
        document.getElementById("nombre").style.borderColor = "" //
      }
    if (emp == "n")
    {
      document.getElementById("cam_emp").innerHTML = " Campo obligatorio.";
      document.getElementById("empresa").style.borderColor = "#FF0000"
    }
      else
      {
        document.getElementById("cam_emp").innerHTML = "";
        document.getElementById("empresa").style.borderColor = ""
      }
    if (mai == "n")
    {
      document.getElementById("cam_mai").innerHTML = " Campo obligatorio.";
      document.getElementById("mail").style.borderColor = "#FF0000"
    }
      else
      {
        document.getElementById("cam_mai").innerHTML = "";
        document.getElementById("mail").style.borderColor = ""
      }
    if (men == "n")
    {
      document.getElementById("cam_men").innerHTML = " Campo obligatorio.";
      document.getElementById("mensaje").style.borderColor = "#FF0000"
    }
      else
      {
        document.getElementById("cam_men").innerHTML = "";
         document.getElementById("mensaje").style.borderColor = ""
      } 
  
  // se crearan mensajes dentro de un cuadro de error en la parte superior del formulario
  
 
    var titulo = "Errores encontrados"
    // esta variable contendra todo el codigo del cuadro
    var code_html = ""
    // -------------------------------------------------
    var code_error = ""
    var men_error = "Debes rellenar el campo obligatorio"
    // formulario diseñado por avaltel
    // crear todos los campos de lista para los errores que se hayan encontrado
  
      if (nom == "n")
    {
      code_error = code_error + "<li>" + men_error + ' "' + "Nombre" + '"' + "</li>" 
    }
      else
      {
        code_error = code_error + ""
      }
    if (emp == "n")
    {
      code_error = code_error + "<li>" + men_error + ' "' + "Empresa" + '"' + "</li>" 
    }
      else
      {
        code_error = code_error + ""
      }
    if (mai == "n")
    {
      code_error = code_error + "<li>" + men_error + ' "' + "E-Mail" + '"' + "</li>" 
    }
      else
      {
        code_error = code_error + ""
      }
    if (men == "n")
    {
      code_error = code_error + "<li>" + men_error + ' "' + "Mensaje" + '"' + "</li>" 
    }
      else
      {
        code_error = code_error + ""
      }
    
    // generamos el codigo del cuadro
    
    code_html = '<div class="title_error">' + "<b>" + "Errores encontrados" + "</b>"
    code_html = code_html + "</div>" + "<br/>" 
    code_html = code_html + "Una vez relleno el formulario de contacto, se han encontrado uno o varios errores en la cumplimentacion del mismo, por favor fijese en los campos marcados y completelos para finalizar el envio del mensaje" 
    code_html = code_html + '<ul title="Lista de puntos a verificar">' 
    code_html = code_html + code_error + '</ul>'
    
    // muestra en la pagina (en el div dado) la informacion html que contiene la variable
    
    var errores = nom + emp + mai + men // uso esta variable para comprobar si hay algun fallo
    
    if (errores != "yyyy")
    {
      document.getElementById("cuadro_error").className = "cuadro_error_act";
      document.getElementById("cuadro_error").innerHTML = code_html;
      return false // le decimos que tras la ejecucion de todo el proceso hay algun campo mal
    }
      else
      {
        document.getElementById("cuadro_error").className = "cuadro_error_pas";
        document.getElementById("cuadro_error").innerHTML = "";
        return true // le decimos que tras todo el proceso, todo es correcto y le damos el ok para enviar el formulario        
      }
  }
  
</script> 

Por Theos

70 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Nov 2007 04:57 am
ya esta solucionado... gracias por la inspiracion clab y dj SOSO xDDDDDDDDD

Por Theos

70 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.