• Lunes 29 de Abril de 2024, 03:40

Autor Tema:  Paso De Variables A Un Archivo Js  (Leído 1807 veces)

odp77

  • Miembro activo
  • **
  • Mensajes: 25
    • Ver Perfil
Paso De Variables A Un Archivo Js
« en: Miércoles 20 de Febrero de 2008, 18:42 »
0
Hola gente del foro

Lo que pasa es que tengo un monton de formularios y para validar cada campo lo quiero hacer en un archivo .JS con las funciones respectivas para validar que no deje campos en blanco, solo numeros, etc.

El problema radica es que cuando la llamo, no me valida nada, como si no enviara las variables:
 
He aqui un formulario que valida un campo de texto y un radiobutton:

Código: Text
  1.  
  2. <form name="selmultiplealu" method="post" action="selmultiplealu.htm">
  3.       <p>Ejercicio No.
  4.         <input name="selmultiple_id_alu" type="text" size="5" maxlength="5">[CODE]
  5.       </p>
  6.       <p>1º Pregunta:</p>
  7.       <ul>
  8.         <li>¿ ?</li>
  9.       </ul>
  10.       <p>Respuesta:</p>
  11.       <p>
  12.         <input name="seleccion_alu" type="radio" value="1">
  13.         1)    </p>
  14.       <p>
  15.         <input name="seleccion_alu" type="radio" value="2">
  16.         2)      </p>
  17.       <p>
  18.         <input name="seleccion_alu" type="radio" value="3">
  19.         3)      </p>
  20.       <p>
  21.         <input name="seleccion_alu" type="radio" value="4">
  22.         4)    </p>
  23.       <p align="center">
  24.         <input type="button" value="Comparar Respuesta" onClick="validaformulario(document.selmultiplealu.selmultiple_id_alu, document.selmultiplealu.selmultiple_id_alu.value, document.getElementsByName("seleccion_alu"))">
  25.       </p>
  26. </form>
  27.  
  28.  

Y aqui el archivo .JS:

Código: Text
  1.  
  2. function validaformulario(nombre, numero, opciones){
  3.     if (numero.length==0){
  4.        alert("Tiene que escribir el numero del ejercicio")
  5.        nombre.focus()
  6.        return 0;
  7.     }
  8.     else
  9.     {
  10.       valor = validarEntero(numero)
  11.       numero = valor
  12.       if (valor==""){
  13.         alert("Tiene que introducir un número de ejercicio")
  14.         nombre.focus()
  15.         return 0;
  16.       }
  17.     }
  18.      
  19.     var seleccionado = false;
  20.     for(var i=0; i<opciones.length; i++) {  
  21.       if(opciones[i].checked) {
  22.       nombre.submit();
  23.       seleccionado = true;
  24.       break;
  25.       }
  26.     }
  27.     if(!seleccionado) {
  28.       alert("Tiene que seleccionar una opción")
  29.       return false;
  30.     }
  31.    
  32.     function validarEntero(valor){
  33.       //intento convertir a entero.
  34.      //si era un entero no le afecta, si no lo era lo intenta convertir
  35.      valor = parseInt(valor)
  36.  
  37.       //Compruebo si es un valor numérico
  38.       if (isNaN(valor)) {
  39.         //entonces (no es numero) devuelvo el valor cadena vacia
  40.         return ""
  41.       }else{
  42.         //En caso contrario (Si era un número) devuelvo el valor
  43.         return valor
  44.       }
  45. }
  46.  
  47.  

La verdad soy algo nuevo en Javascritp y no se si estoy enviando bien los datos, todo lo que he hecho lo he mirado en internet y me parece que esa es la causa del error y no quiero hacerlo en la misma pagina porque me estoy ahorrando codigo y redundancia.