SoloCodigo

Programación Web y Scripting => JavaScript => Mensaje iniciado por: goldenscriptup en Sábado 14 de Febrero de 2009, 11:38

Título: Validacion de campos no funciona en Firefox
Publicado por: goldenscriptup en Sábado 14 de Febrero de 2009, 11:38
Me pueden asesosar o sugerir por favor para resolver el inconveniente del siguiente codigo. El problema consiste que en IE6 si funciona la validacion de los campos pero al hacer pruebas en Firefox3 no funciona. De antemano gracias.

<div id="formu">
   <form method="post" action="contacto.php" name = "cont">
     <div id="error"></div>
     <table>
        
      <tr>
         <td class="colortitulo">
            Nombre:<br> <input type="text" name="nombre" maxlength="40" size="40">
         </td>
      </tr>
      <tr>
         <td class="colortitulo">
            Empresa:<br> <input type="text" name="empresa" maxlength="40" size="40">
         </td>
      </tr>
      <tr>
         <td class="colortitulo">
            Correo electronico:<br> <input type="text" name="email" maxlength="40" size="40">
         </td>
         <td class="colortitulo">
            Telefono:<br><input type="text" name="tel" maxlength="40" size="15">
         </td>
      </tr>
      <tr>
         <td class="colortitulo" colspan="2">
            Solicitud de información - Comentarios:<br>
            <textarea name="comentarios" cols="65" rows="4"></textarea>
         </td>
      </tr>
      <tr>
         <td colspan="2" style="text-align:center">
            <input  name="enviar" value="Enviar consulta" type="button" onClick="javascript: ejecutar();">
         </td>
      </tr>
      </table>
      <script type="text/javascript">
      function ejecutar() {
                        var nombre = cont.elements.nombre;
                     var empresa = cont.elements.empresa;
                     var email = cont.elements.email;
                     var tel = cont.elements.tel;
                     var comentarios = cont.elements.comentarios;
                     
                     if (nombre.value == "") {
                        nombre.focus();
                        error.innerHTML = "Por favor ingrese su nombre";
                        return;
                     }
                     if (empresa.value == "") {
                        empresa.focus();
                        error.innerHTML = "Por favor ingrese el nombre de la empresa";
                        return;
                     }
                     if (email.value == "") {
                        email.focus();
                        error.innerHTML = "Por favor ingrese el correo electronico";
                        return;
                     }
                     if (tel.value == "") {
                        tel.focus();
                        error.innerHTML = "Por favor ingrese el telefono";
                        return;
                     }
                     if (comentarios.value == "") {
                        comentarios.focus();
                        error.innerHTML = "Por favor ingrese los comentarios";
                        return;
                     }
                     
                     cont.submit();
                  }

      
      
      </script>
     </form>

  </div>
Título: Re: Validacion de campos no funciona en Firefox
Publicado por: RadicalEd en Sábado 14 de Febrero de 2009, 13:54
Cada que yo me quiero referir a los campos de un formulario lo comiendo desde "document", en tú ejemplo faltaría algo como:
Código: Text
  1. function ejecutar() {
  2. var nombre = document.cont.elements.nombre;
  3. var empresa = document.cont.elements.empresa;
  4. var email = document.cont.elements.email;
  5. var tel = document.cont.elements.tel;
  6. var comentarios = document.cont.elements.comentarios;
  7.  
Además para hacer algo más legible el código puedes dejarlo de esta forma
Código: Text
  1. function ejecutar() {
  2. f = document.cont;
  3. var nombre = f.elements.nombre;
  4. var empresa = f.elements.empresa;
  5. var email = f.elements.email;
  6. var tel = f.elements.tel;
  7. var comentarios = f.elements.comentarios;
  8.  
Título: Re: Validacion de campos no funciona en Firefox
Publicado por: shadow_rev en Domingo 15 de Febrero de 2009, 00:44
Para complementar con lo que te puso Edo:
Código: Javascript
  1. var error = document.getElementById("error");
  2.  
Eso para que te funcione también las líneas con error.innerHTML = ...
Título: Re: Validacion de campos no funciona en Firefox
Publicado por: goldenscriptup en Domingo 15 de Febrero de 2009, 02:29
Gracias por la ayuda a edo y a shadow_rev. Implemente las sintaxis que me proporcionaron y funciona bien en los dos exploradores.
Título: Re: Validacion de campos no funciona en Firefox
Publicado por: el_shanky en Domingo 15 de Febrero de 2009, 21:05
mi consejo... no programes para ie6!  :P