Hola amig@s,
Tengo la siguiente función para validar formularios de forma genérica, el problema es que no toma en cuenta los select, es decir, aunque no se seleccione nada en un select "marcado" como requerido, lo da como bueno, aquí la función:
Código Javascript
:
Ver originalfunction validarFormGenerico( form ) {
var error = false;
var j = -1;
var chain = '';
for ( var i = 0; i < form.elements.length; i++ ) {
if ( form.elements[i].alt == 'requerido' && ( isEmpty(Trim(form.elements[i].value)) || ( form.elements[i].type == 'checkbox' && form.elements[i].checked == false ) ) ) {
if ( j < 0 ) {
j = i;
}
chain = chain +' - ' + form.elements[i].title + '\n';
error = true;
}
}
if ( error ) {
alert( 'Los siguientes campos no pueden quedar\nincompletos para enviar el formulario:\n\n' + chain );
form.elements[j].focus();
return false;
}
else {
return true;
}
}
Bien, un ejemplo de formulario para usar con esta función sería algo así (solo es un ejemplo):
Código HTML:
Ver original<form enctype="multipart/form-data" method="post" action="xxxxx.php" name="formulario"> <table border=0 align="center"> <td><input type="text" name="nombre" id="nombre" alt="requerido" title="Nombre"></td> <td><input type="text" name="apellidos" id="apellidos" alt="requerido" title="Apellidos"></td> <td><input type="text" name="email" id="email" alt="requerido" title="E-mail"></td> <td><input type="text" name="telefono" id="telefono" class="input" alt="requerido" title="Teléfono"></td> <td class=dato">País:
</td> <td class="campo"><select name="pais" id="pais" class="input" alt="requerido" title="País"> <td><select name="sexo" id="sexo" alt="requerido" title="Sexo"> <td>Suscripción al boletín:
</td> <td><input type="checkbox" name="boletin" id="boletin" alt="requerido" title="Boletín" value="Boletín"></td> <td>Suscripción a las novedades:
</td> <td><input type="checkbox" name="novedades" id="novedades" alt="requerido" title="Novedades" value="Novedades"></td> <td>Recibir e-mail:
</td> <td><input type="radio" value="si" name="recibir_email" id="recibir_email" alt="requerido" title="Recibir e-mail"> Sí
<input type="radio" value="No" name="recibir_email" id="recibir_email" alt="requerido" title="Recibir e-mail"> No
</td> <td colspan="2">Se admiten archivos en formato pdf, doc o docx y con un tamaño no superior a 1 Mb
</td> <td><input type="file" name="archivo" id="archivo" alt="requerido" title="Archivo"></td> <td><textarea name="comentarios" cols="60" rows="6" id="comentarios" alt="requerido" title="Comentarios"></textarea> <td colspan="2" align="center"><div align='center' class='aceptar'><input type="button" value="Enviar" onclick="javascript:validarFormGenerico(document.formulario);" alt="enviar" title="enviar"/>
Entonces, la pregunta es ¿qué habría que añadir para que valide todo tipo de campos?
Muchas gracias por anticipado.
.