hola foro:
Tengo un problema, tengo un formulario con 76 campos dinamicos, y al darle submit necesito que se valide que todos estan llenos, para esto hice esta funcion que llamo en el evento onSubmit de la forma:
function ValidarVacios()
{
var f = document.forms['form1'];
var text = "";
var alerta = false;
//numTexts es el numero de campos, ahora son 76 pero podria variar
for (var i = 0; i <= parseInt(f.numTexts.value); i++){
//los nombres de los campos comienzan con el prefijo 'txt' seguido del numero del campo
text = 'txt' + String(i);
if (('f.'+[text]+'.value') == ''){
alerta = true;
}
}
if (alerta==true)
{
alert('Campos Vacios');
return false;
}
else{
return true;
}
}
Lo que hace este script es que va recorriendo todos los campos y si alguno esta vacio cambia el estado de la variable alerta de false a true, de modo que si hay aunque sea un solo campo vacio, debe entrar y cambiar a true la variable alerta.
Cuando termina de recorrerlos hay un if preguntando si la variable alerta es true, entonces saca un mensaje alert diciendo que hay campos vacios, el problema es que al dar submit esta ignorando totalmente el scrip y checando vi que no entra al if que esta dentro del for, donde cambio el estado de la variable:
if (('f.'+[text]+'.value') == ''){
alerta = true;
}
ahora no se si estoy concatenando bien la variable con el restod e la sentencia o que estoy haciendo mal.
Alguien sabe alguna otra forma poara checar inputs text dinamicos?? y que el mensaje salga solo una vez ya sea que haya uno o mas inputs vacios???
Gracias!!!
Atte. Lorena
. Creo que seria buena idea marcar los campos obligatorios con un color. En el ejemplo que te envio he puesto los bordes de color rojo para los campos obligatorio, y los no obligatorios en negro.
, muchas gracias, quedo perfecto!!!
de haberte sido ayuda, el script que te envie se puede mejorar, olvide devolver el foco al primer campo vacio y eliminar los espacios a ambos lados de las cadenas de los campos obligatorios.
, kepawe y caricatos, oigan ya que estamos en esto y dando mas lata, lo unico que no entiendo bien de este codigo es la parte:
de vez en cuando, pero merece la pena aprender como funcionan, te ahorran mucho código.
