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:
<form name="selmultiplealu" method="post" action="selmultiplealu.htm">
<p>Ejercicio No.
<input name="selmultiple_id_alu" type="text" size="5" maxlength="5">[CODE]
</p>
<p>1º Pregunta:</p>
<ul>
<li>¿ ?</li>
</ul>
<p>Respuesta:</p>
<p>
<input name="seleccion_alu" type="radio" value="1">
1) </p>
<p>
<input name="seleccion_alu" type="radio" value="2">
2) </p>
<p>
<input name="seleccion_alu" type="radio" value="3">
3) </p>
<p>
<input name="seleccion_alu" type="radio" value="4">
4) </p>
<p align="center">
<input type="button" value="Comparar Respuesta" onClick="validaformulario(document.selmultiplealu.selmultiple_id_alu, document.selmultiplealu.selmultiple_id_alu.value, document.getElementsByName("seleccion_alu"))">
</p>
</form>
Y aqui el archivo .JS:
function validaformulario(nombre, numero, opciones){
if (numero.length==0){
alert("Tiene que escribir el numero del ejercicio")
nombre.focus()
return 0;
}
else
{
valor = validarEntero(numero)
numero = valor
if (valor==""){
alert("Tiene que introducir un número de ejercicio")
nombre.focus()
return 0;
}
}
var seleccionado = false;
for(var i=0; i<opciones.length; i++) {
if(opciones[i].checked) {
nombre.submit();
seleccionado = true;
break;
}
}
if(!seleccionado) {
alert("Tiene que seleccionar una opción")
return false;
}
function validarEntero(valor){
//intento convertir a entero.
//si era un entero no le afecta, si no lo era lo intenta convertir
valor = parseInt(valor)
//Compruebo si es un valor numérico
if (isNaN(valor)) {
//entonces (no es numero) devuelvo el valor cadena vacia
return ""
}else{
//En caso contrario (Si era un número) devuelvo el valor
return valor
}
}
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.