hola les cuento tengo el siguiente problema estoy haciendo unas validaciones en javascript y las hago recorriendo el array de elementos y ahora mismo he hecho la validacion para calcular el dc de una cuenta bancaria, me la valida bien si es erronea pero si es correcta no hace el envio del formulario se queda como disabled el boton.
Es el paso 7 donde esta la validacion, muchas gracias de antemano.
/*---------------------------------- validacion digitos del dc-------------------------------------------------------------*/
if(ele.id=="Dc") {
dc = ele.value;
if(dc == '') { //si viene vacia no meto nada en el array de errores
errores[7] = '';
} else {
if(dc.length != 2){//si no son 2 digitos meto en el array de errores el error
errores[7] = '-El dc debe tener 2 digitos \n';
cuentaerrores=cuentaerrores+1;
}else{
errores[7] = '';
}
var dc2 = 0;
for (cont2=0; cont2 < 2 ;cont2++) {
var aux = "";
if (cont2 == 1){
dc2 = dc2*10;
}
if (cont2 == 0) {
for (var ii=0; ii < entidad.length; ii++) {
var ch = entidad.substring (ii, ii+1);
aux += ch;
}
for (var ii=0; ii < sucursal.length; ii++) {
var ch = sucursal.substring (ii, ii+1);
aux += ch;
}
} else {
num_cuenta='0000000003';
for (var xd=0; xd < num_cuenta.length; xd++) {
var ch = num_cuenta.substring (xd, xd+1);
aux += ch;
}
}
var cont33 = 0;
var suma = 0;
for (var cont1 = aux.length-1; cont1 >= 0; cont1--) {
dig_buf = aux.substring (cont1, cont1+1);
digito = parseFloat (dig_buf);
if (cont33 == 0)
suma = suma + (digito*6);
else if (cont33 == 1)
suma = suma + (digito*3);
else if (cont33 == 2)
suma = suma + (digito*7);
else if (cont33 == 3)
suma = suma + (digito*9);
else if (cont33 == 4)
suma = suma + (digito*10);
else if (cont33 == 5)
suma = suma + (digito*5);
else if (cont33 == 6)
suma = suma + (digito*8);
else if (cont33 == 7)
suma = suma + (digito*4);
else if (cont33 == 8)
suma = suma + (digito*2);
else if (cont33 == 9)
suma = suma + (digito*1);
cont33++;
}
suma = suma % 11;
digito = 11 - suma;
if (digito == 10){
dc2++;
}else{ if (digito == 11){
}else{
dc2+= digito;
}
}
}
if (dc2 < 10){
dc2 = "0" + dc2;
}
if (dc != dc2){
errores[16] = '-Hay un error en el dc de la cuenta bancaria \n';
cuentaerrores=cuentaerrores+1;
}
}
}
for(b=0;b<cuentaerrores;b++)
{
mostrarerrores = errores.join(""); //uno el array de errores
}
/*---------------------------------- fin validacion de campos requeridos--------------------------------------------*/
paso = form.paso.value;
//alert(paso);
if (cont2>0 || cuentaerrores>0 || confirmar == false){ // si tenemos algun campo vacio o si algun campo contiene algun error
if(confirmar == false)//si no estan checkeadas las opciones
{
alert("Debe aceptar las condiciones");
}
switch(paso) //para cada paso sacamos las alertas correspondientes
{
case "2": alert(mostrar);
break;
case "3":
if(mostrar && mostrarerrores){
alert(mostrar+mostrarerrores);
}else{
if(mostrar){
alert(mostrar);
}
if(mostrarerrores){
alert(mostrarerrores);
}
}
break;
case "7": if(mostrar && mostrarerrores){
alert(mostrar+mostrarerrores);
}else{
if(mostrar){
alert(mostrar);
}
if(mostrarerrores){
alert(mostrarerrores);
}
}
break;
default : break;
}
return false;
}
return true;
}