Foros del Web » Programando para Internet » Javascript »

Problema verificar formulario JS

Estas en el tema de Problema verificar formulario JS en el foro de Javascript en Foros del Web. A ver si alguien me puede comentar en que puede fallar esta función de JavaScript para verificar un formulario, pero es que no hace nada ...
  #1 (permalink)  
Antiguo 19/05/2011, 09:53
Avatar de ivanin87  
Fecha de Ingreso: marzo-2008
Mensajes: 77
Antigüedad: 16 años
Puntos: 0
Problema verificar formulario JS

A ver si alguien me puede comentar en que puede fallar esta función de JavaScript para verificar un formulario, pero es que no hace nada de nada...

Código PHP:
<script type="text/javascript">
function 
verificarContactoEmpresa() 
{
    
    if(
document.frm2.empresa.value.lenght==0
    {
        
alert("Por favor indica el nombre de la empresa");
        
document.frm2.empresa.focus();
        return 
0;
    }
    if(
document.frm2.contacto.value == ""
    {
        
alert("Por favor indica una persona de contacto");
        
document.frm2.contacto.focus();
        return 
false;
    }
    
    if(
document.frm2.localidad.value == ""
    {
        
alert("Por favor indica la Localidad");
        
document.frm2.localidad.focus();
        return 
false;
    }
    
    
    if (/^
w+([.-]?w+)*@w+([.-]?w+)*(.w{2,3})+$/.test(document.frm2.correo.value)==false)
    {
       
alert("La dirección de email es incorrecta, si no dispone de email escriba [email protected]");
       
document.frm2.correo.focus();
       return 
false;
    }
    if(
document.frm2.telefono.value == ""
    {
        
alert("Por favor indica un Teléfono");
        
document.frm2.telefono.focus();
        return 
false;
    }
    
    
//el formulario se envia
    
alert("Muchas gracias por enviar el formulario");
    
document.frm2.submit();
}
</script> 
El formulario lo declaro así:

Código PHP:
<form name='frm2' action='contacta_empresas.php' method="post">
...
<
input type="button"  value="Enviar" name="submit"  class="categoria" onclick="verificar()" />
</
form
  #2 (permalink)  
Antiguo 19/05/2011, 10:23
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Problema verificar formulario JS

El problema que veo es que en el onclick llamas a la función verificar mientras que la función se llama verificarContactoEmpresa() .

La expresión regular para el email está mal, cuando te refieres a cualquier carácter alfanumérico no es w es \w

Código Javascript:
Ver original
  1. /^\w+([.-]?\w+)*@\w+([.-]?\w+)*(.\w{2,3})+$/
  #3 (permalink)  
Antiguo 19/05/2011, 12:17
Avatar de ivanin87  
Fecha de Ingreso: marzo-2008
Mensajes: 77
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema verificar formulario JS

La expresión regular en el archivo está bien como tú dices, no se porque al ponerla aquí se quitaron las barras.

En cuanto a lo otro he dejado el botón así:

<input type="button" value="Enviar" name="submit" class="categoria" onclick="verificarContactoEmpresa()" />

pero nada de nada... el resto ni lo he tocado, ¿veis algo mal a parte de eso?
  #4 (permalink)  
Antiguo 19/05/2011, 12:30
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Problema verificar formulario JS

Sí, se me ha olvidado. La primera comprobación pones lenght y es length

Luego, ¿este código supongo que lo habrás puesto en el head?

Yo he probado el código (con una página que está muy bien) y funciona. Te paso el link:

http://jsfiddle.net/alexg88/bDgUA/1/embedded/result/
  #5 (permalink)  
Antiguo 19/05/2011, 12:44
Avatar de ivanin87  
Fecha de Ingreso: marzo-2008
Mensajes: 77
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema verificar formulario JS

Si, lo he intentado incluso meter en un js aparte y llamarlo desde el head de mi index.php y luego otra página es la que carga el formulario que escribí mas arriba, pero vamos lo carga dentro de ese index en el cual el head tiene el js referido...
  #6 (permalink)  
Antiguo 19/05/2011, 12:50
Avatar de ivanin87  
Fecha de Ingreso: marzo-2008
Mensajes: 77
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema verificar formulario JS

Acabo de descubrir con el firebug que el error que da en la primera comprobación es:

document.frm2 is undefined
  #7 (permalink)  
Antiguo 19/05/2011, 12:51
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Problema verificar formulario JS

¿Puedes poner el código completo (la página HTML) que devuelve (cuando llamas al index.php)?
  #8 (permalink)  
Antiguo 19/05/2011, 13:04
Avatar de ivanin87  
Fecha de Ingreso: marzo-2008
Mensajes: 77
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema verificar formulario JS

Claro, observa que he probado a cambiar el frm2 por formContactoEmpresas por si el otro que es más genérico fuera el que daba error por estar duplicado o algo... te pondría la página pero esto me fice que supera la longitud de caracteres, a ver si con esto...

La llamada desde el head...
Código HTML:
Ver original
  1. <script type="text/javascript" src="http://localhost/ecoalternative/verificaContacto.js"></script>

El div que contiene el formulario...
Código HTML:
Ver original
  1. <div class='contacto tabbertab'><h4>CONTACTO</h4>
  2. <style type="text/css">
  3. .parrafo
  4. {
  5.     font:12px arial; color:#555555;
  6.     text-align:left;
  7. }
  8. .categoria_contacto
  9. {
  10.     font:bold 12px verdana;
  11.     color:#0099FF;
  12.     text-decoration:none;  
  13. }
  14.  
  15.  
  16. <TABLE  BORDER="0" cellspacing="0" width='100%' align='center'>
  17.     <TR>
  18.         <TD align='center'>
  19.             <center>
  20.  
  21.                 <table width="430" style='border:1px solid #CCCCCC;'>
  22.                     <tr valign="top">
  23.                         <td align="center"  style='font:bold 14px Arial, Helvetica, sans-serif; color:#0099CC; border:1px solid #CCCCCC; background-color:#FEFDDE'>
  24.                                                     CONTACTA CON ECOALTERNATIVE.NET                     </td>
  25.                     </tr>
  26.                     <tr>
  27.                         <td valign=top>
  28.                             <form name="formContactoEmpresas" action='contacta_empresas.php' method="post">
  29.                                 <div align="right"><font color="red" style='font:10px arial;'><!--* Campos obligatorios--></font></div><center>
  30.  
  31.                                     <table border="0" bgcolor="#ffffff" cellspacing="3" bordercolor="#B1CECE" width="325">
  32.                                         <tr>
  33.                                             <td align="right" class="text">
  34.                                                 <div align="left"><font color="red"><!--*--></font>Empresa:</div>
  35.                                             </td>
  36.                                             <td>
  37.                                                 <input type="text" name="empresa" size="40" maxlength="40" />                                        
  38.                                             </td>
  39.                                         </tr>
  40.                                         <tr>
  41.  
  42.                                             <td align="right" class="text">
  43.                                                 <div align="left"><font color="red"><!--*--></font>Contacto:</div>
  44.                                             </td>
  45.                                             <td>
  46.                                                 <input type="text" name="contacto" size="40" />
  47.                                             </td>
  48.                                         </tr>
  49.                                         <tr>
  50.                                             <td align="right" class="text">
  51.                                                 <div align="left"><font color="red"><!--*--></font>Localidad:</div>
  52.  
  53.                                             </td>
  54.                                             <td>
  55.                                                 <input type="text" name="localidad" size="40" />
  56.                                             </td>
  57.                                         </tr>
  58.                                         <tr>
  59.                                             <td align="right" class="text">
  60.                                                 <div align="left"><font color="red"><!--*--></font>E-mail:</div>
  61.                                             </td>
  62.  
  63.                                             <td>
  64.                                                 <input type="text" name="correo" size="40" />
  65.                                             </td>
  66.                                         </tr>
  67.                                         <tr>
  68.                                             <td align="right" class="text">
  69.                                                 <div align="left"><font color="red"><!--*--></font>Tel&eacute;fono:</div>
  70.                                             </td>
  71.                                             <td>
  72.  
  73.                                                 <input type="text" name="telefono" size="40" />
  74.                                             </td>
  75.                                         </tr>
  76.                                         <tr>
  77.                                             <td align="right" class="text">
  78.                                                 <div align="left">Mensaje:</div>
  79.                                             </td>
  80.                                             <td>
  81.                                                 <textarea name="mensaje" cols="37" rows="7"></textarea>                                            
  82.                                             </td>
  83.  
  84.                                         </tr>
  85.                                         <tr>
  86.                                             <td align="right">
  87.                                                 <div align="left"><b></b></div>
  88.                                             </td>
  89.                                             <td>
  90.                                                 <div align="left"> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;
  91.                                                     <input type="button"  value="Enviar" name="submit"  class="categoria" onclick="verificarContactoEmpresa()" />
  92.  
  93.                                                     &nbsp; &nbsp;
  94.                                                     <input type="reset" value="Borrar" name="reset"  class="categoria" />
  95.                                                 </div>
  96.                                             </td>
  97.                                         </tr>
  98.                                     </table>
  99.                                 </center>
  100.                             </form>
  101.                         </td>
  102.  
  103.                     </tr>
  104.                 </table>
  105.             </center>
  106.         </TD>
  107.     </TR>
  108. </TABLE></div>
  #9 (permalink)  
Antiguo 19/05/2011, 13:07
 
Fecha de Ingreso: mayo-2011
Mensajes: 15
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: Problema verificar formulario JS

Prueba cambiando ..
function verificarContactoEmpresa()

Por ..
function verificarContactoEmpresa(frm2)
  #10 (permalink)  
Antiguo 19/05/2011, 13:10
Avatar de ivanin87  
Fecha de Ingreso: marzo-2008
Mensajes: 77
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema verificar formulario JS

Lo he cambiado por verificarContactoEmpresa(formContactoEmpresas) que es el nombre que cambie tanto en el formulario como en el js y nada sigue igual...

document.formContactoEmpresas is undefined

Que ascooooo
  #11 (permalink)  
Antiguo 19/05/2011, 13:13
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Problema verificar formulario JS

No veo el problema, como te digo a mi me funciona perfectamente. Debe ser algo que tienes en el código que no has enseñado. ¿No tendrás puesto esto dentro de un iframe no?
  #12 (permalink)  
Antiguo 19/05/2011, 13:13
 
Fecha de Ingreso: mayo-2011
Mensajes: 15
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: Problema verificar formulario JS

Yo valido de esta manera..

Cita:
function validar_inicio_sesion (formulario)
{
var usuario = formulario.usuario.value;
var tecnologico = formulario.tecnologico.value;
var pass = formulario.pass.value;

if (tecnologico != "")
{
if (usuario != "" && pass != "")
{
formulario.submit();
}
else
{
document.getElementById('notice').innerHTML="<img src=images/notice-trans.png> Debes introducir tu nombre de usuario y contraseña.";
}
}
else
{
document.getElementById('notice').innerHTML="<img src=images/notice-trans.png> Debes de seleccionar un tecnológico.";

}
}
tal vez te sirva de algo..
  #13 (permalink)  
Antiguo 19/05/2011, 13:22
Avatar de ivanin87  
Fecha de Ingreso: marzo-2008
Mensajes: 77
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema verificar formulario JS

Cita:
Iniciado por alexg88 Ver Mensaje
No veo el problema, como te digo a mi me funciona perfectamente. Debe ser algo que tienes en el código que no has enseñado. ¿No tendrás puesto esto dentro de un iframe no?
No, es que si lo pongo en un html solo esa parte del código funciona bien, pero no se porque luego no me encuentra el elemento que tiene que comprobar... Si me puedes dar por privado un mail te mando el html que imprime el navegador por completo, es que aquí no me deja ponerlo...
  #14 (permalink)  
Antiguo 19/05/2011, 13:25
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Problema verificar formulario JS

Utiliza esta página para poner el código y luego pones el link:

http://paste.ideaslabs.com/
  #15 (permalink)  
Antiguo 19/05/2011, 13:33
Avatar de ivanin87  
Fecha de Ingreso: marzo-2008
Mensajes: 77
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema verificar formulario JS

No la conocia! jeje

http://paste.ideaslabs.com/show/G5aAuE1q2C

Gracias!
  #16 (permalink)  
Antiguo 19/05/2011, 13:44
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Problema verificar formulario JS

Seguramente el problema es que tienes un formulario dentro de otro formulario (no deberías).
Te recomiendo que te mires el html porque las etiquetas no están bien cerradas.
  #17 (permalink)  
Antiguo 19/05/2011, 13:47
Avatar de ivanin87  
Fecha de Ingreso: marzo-2008
Mensajes: 77
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema verificar formulario JS

Ok, lo revisaré!

Etiquetas: js, verificar, 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 10:09.