Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2014, 01:07
supernino69
 
Fecha de Ingreso: noviembre-2009
Mensajes: 33
Antigüedad: 15 años, 1 mes
Puntos: 0
Problemas con onsubmit y action

Buenas, estoy intentando realizar una validación de unos campos antes de mandar mi formulario mediante el action a mi fichero php.

El problema es el siguiente:

<form method="POST" action ="lanzar.php" id="0" onsubmit="return validar()">
<table>
.............
</table>

<input type="submit" name="aceptar" id="aceptar" value="Enviar" >

Ese sería mi formulario, quiero que primero me pase por la función validar() y si me devuelve true, me debería pasar al action, y en caso de false, que no haga nada y dar un alert.

El validar está de la siguiente manera:

function validar(){
var index = formHijos.numHijos.selectedIndex;
var val = formHijos.numHijos[index].value;
boolean go = false;
alert(val);
if(val == "1"){
if(document.getElementById("sprytextfield1") != "" && document.getElementById("sprytextfield2") != "" &&
document.getElementById("sprytextfield3") != "" && document.getElementById("sprytextfield4") != "" ){
go = true;
}else{
go = false;
}

}
if(val == "2"){
if(document.getElementById("sprytextfield1") != "" && document.getElementById("sprytextfield2") != "" &&
document.getElementById("sprytextfield3") != "" && document.getElementById("sprytextfield4") != "" &&
document.getElementById("sprytextfield5") != "" && document.getElementById("sprytextfield6") != "" &&
document.getElementById("sprytextfield7") != "" && document.getElementById("sprytextfield8") != "" ){
go = true;
}else{
go = false;
}

}
if(val == "3"){
if(document.getElementById("sprytextfield1") != "" && document.getElementById("sprytextfield2") != "" &&
document.getElementById("sprytextfield3") != "" && document.getElementById("sprytextfield4") != "" &&
document.getElementById("sprytextfield5") != "" && document.getElementById("sprytextfield6") != "" &&
document.getElementById("sprytextfield7") != "" && document.getElementById("sprytextfield8") != "" &&
document.getElementById("sprytextfield9") != "" && document.getElementById("sprytextfield10") != "" &&
document.getElementById("sprytextfield11") != "" && document.getElementById("sprytextfield12") != "" ){
go = true;
}else{
go = false;
}

}
if(val == "4"){
if(document.getElementById("sprytextfield1") != "" && document.getElementById("sprytextfield2") != "" &&
document.getElementById("sprytextfield3") != "" && document.getElementById("sprytextfield4") != "" &&
document.getElementById("sprytextfield5") != "" && document.getElementById("sprytextfield6") != "" &&
document.getElementById("sprytextfield7") != "" && document.getElementById("sprytextfield8") != "" &&
document.getElementById("sprytextfield9") != "" && document.getElementById("sprytextfield10") != "" &&
document.getElementById("sprytextfield11") != "" && document.getElementById("sprytextfield12") != "" &&
document.getElementById("sprytextfield13") != "" && document.getElementById("sprytextfield14") != "" &&
document.getElementById("sprytextfield15") != "" && document.getElementById("sprytextfield16") != "" ){
go = true;
}else{
go = false;
}

}
if(val == "5"){
if(document.getElementById("sprytextfield1") != "" && document.getElementById("sprytextfield2") != "" &&
document.getElementById("sprytextfield3") != "" && document.getElementById("sprytextfield4") != "" &&
document.getElementById("sprytextfield5") != "" && document.getElementById("sprytextfield6") != "" &&
document.getElementById("sprytextfield7") != "" && document.getElementById("sprytextfield8") != "" &&
document.getElementById("sprytextfield9") != "" && document.getElementById("sprytextfield10") != "" &&
document.getElementById("sprytextfield11") != "" && document.getElementById("sprytextfield12") != "" &&
document.getElementById("sprytextfield13") != "" && document.getElementById("sprytextfield14") != "" &&
document.getElementById("sprytextfield15") != "" && document.getElementById("sprytextfield16") != "" &&
document.getElementById("sprytextfield17") != "" && document.getElementById("sprytextfield18") != "" &&
document.getElementById("sprytextfield19") != "" && document.getElementById("sprytextfield20") != "" ){
go = true;
}else{
go = false;
}

}
alert (go);
return go;


}

Dependiendo de el numero seleccionado en un select anterior, debo validar un numero concreto de campos.
Busco cuantos debo validar, y en caso de que alguno esté vacio, go = false, y en el return debería ser false.

Pero no me llega a entrar siquiera al validar() y me va directo al action.

alguien me puede ayudar?