Por que no me valida todos los objetos si son vacios

Hola experto quiero preguntyaerte por que en el siguiente coigo no se valida solo los 4 primeros textfields (de linea simple) si son vacíos en cambio un textfield de tipo multilínea y los rtaddio buttons no me los valida ... A que se deberá eso???
Aquí les paso el código:
<SCRIPT LANGUAGE ="Javascript">
function checkFields2() {
missinginfo = "";
if (document.form1.Nombre5.value == "") { /*BuzonMensajes2 */
missinginfo += "\n - Nombre ";
}
if (document.form1.Apellido5.value == "") {
missinginfo += "\n - Apellido ";
}
if (document.form1.Email5.value.indexOf("@") == -1 || document.form1.Email5.value.indexOf(".") == -1 || document.form1.Email5.value == "") {
missinginfo += "\n - Ingrese E-Mail correcto o el campo E-Mail no se puede dejar vacío";
}
if (document.form1.Mensaje5.value == "") {
missinginfo += "\n - Mensaje";
}
if (document.form1.Paisciudad5.value == "") {
missinginfo += "\n - Pais_Ciudad";
}
if (document.form1.radio.Checked == "" || document.form1.radio.value == "" ) {
missinginfo += "\n - seleccione una opción Si/No";
}
if (missinginfo != "") {
missinginfo ="_____________________________\n" +
"Debe rellenar los campos:\n" +
missinginfo + "\n_____________________________" +
"\nPor favor inténtelo de nuevo";
alert(missinginfo);
return false;
}
else return true;
}
</script>
Gracias por su amable colaboración..

1 respuesta

Respuesta
1
Cuando validas radiobuttons debes tener en cuenta que se manejan como si fueran arreglos, es decir, tienes varias opciones, cada una es un elemento del arreglo, debes verificar para cada opción si esta seleccionada.
Luego de esto :
if (document.form1.Paisciudad5.value == "") {
missinginfo += "\n - Pais_Ciudad";
}
deberías hacer algo así:
radio = document.form1.radio;
estado = false;
for (n=0; n<radio.length; n++){
      if (radio[n].checked){
          estado=true;
           break;
      }
}
if (estado==false){
   missinginfo += "\n - seleccione una opción Si/No";
}
Atentamente. Manusoftar.-

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas