• Miércoles 6 de Noviembre de 2024, 09:42

Autor Tema:  Más De Un Argumento En Una Función  (Leído 1247 veces)

mateamargo

  • Miembro activo
  • **
  • Mensajes: 67
    • Ver Perfil
Más De Un Argumento En Una Función
« en: Jueves 20 de Enero de 2005, 19:02 »
0
Estoy haciendo una página que valide el ingreso de un número telefónico (permitiendo números y guiones) y de E-mail (con el formato: nombre@dominio.com).
El tema es el siguiente, tengo dentro de un form dos cuadros de texto (uno para el teléfono y otro para el mail) y un botón. En el evento OnClick quiero que llame a la función de validar y le pase dos parámetros, los cuales son tel.value y mail.value y la función validar se encarga de revisar cada uno mediante los argumentos. Pero no funciona, si a la función le paso un sólo parámetro funciona  bien, pero cuando le paso los dos, no funciona. El código del form es el siguiente:

Código: Text
  1.  
  2. <form name=Form1>
  3. <font face=tahoma color=blue>Número de teléfono:</font> <br> <i><font face=tahoma color=blue
  4.  
  5. size=1>Sólo números y guiones</i></font><br>
  6. <input type=text name=tel><br>
  7. <font face=tahoma color=blue><br>E-mail:</font> <br>
  8. <input type=text name=mail> <br><br>
  9. <input type=button name=procesar value=Aceptar onClick=validar(tel.value, mail.value);>
  10. </form>
  11.  
  12.  

Si alguien sabe si hay alguna solución alternativa a esto, o si la sintaxis está mal, se lo agradeceré.
Saludos.

franc

  • Miembro MUY activo
  • ***
  • Mensajes: 157
    • Ver Perfil
Re: Más De Un Argumento En Una Función
« Respuesta #1 en: Jueves 27 de Enero de 2005, 16:13 »
0
yo no es que sea muy experto pero cuando llamas a la funcion no hay q pasarle argumentos, siemplemente accedes a cada campo con las variables:

Código: Text
  1.  
  2. document.nombre_formulario.nombre_input.value
  3.  
  4.  

es decir que en tu caso seria asi:

Código: Text
  1.  
  2. document.Form1.tel.value
  3. document.Form1.mail.value
  4.  
  5.  

entonces tu codigo podria arreglarse de esta forma:

Código: Text
  1.  
  2. <head>
  3.  
  4. function validar()
  5. {
  6.  
  7. if (document.Form1.mail.value.search(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,3}$/ig))
  8. return false
  9. if (document.Form1.tel.value.search(/[0-9\-]/ig))
  10. return false
  11.  
  12.  
  13. return true
  14. }
  15.  
  16. </head>
  17. <body>
  18. <form name=Form1>
  19. <font face=tahoma color=blue>Número de teléfono:</font> <br> <i><font face=tahoma color=blue
  20.  
  21. size=1>Sólo números y guiones</i></font><br>
  22. <input type=text name=tel><br>
  23. <font face=tahoma color=blue><br>E-mail:</font> <br>
  24. <input type=text name=mail> <br><br>
  25. <input type=button name=procesar value=Aceptar onClick="return validar();">
  26. </form>
  27. </body>
  28.  
  29.  


si el formulario no lo quieres mandar a ningun sitio, solo tienes que quitar los returns y poner "alerts" o algo asi.


¿ es eso lo q buscabas ? lo siento si no te sido de utilidad