Ver Mensaje Individual
  #10 (permalink)  
Antiguo 29/08/2014, 18:34
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Validación Js para formularios generados con do-while

Te estás complicando mucho para hacer algo tan sencillo. Lo que debes de hacer es enviar un identificador del formulario, buscar en él al combo y verificar su valor; si este es nulo, se muestra el mensaje de alerta, caso contrario, se procede a enviar los datos del formulario.

Código HTML:
Ver original
  1. <form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1" onsubmit = "return validar(this)">

Código Javascript:
Ver original
  1. function validar(form){
  2.     var combo = form.getElementsByTagName("select")[0];
  3.  
  4.     if (!combo.value.length){
  5.         alert ("Debe de elegir una opción");
  6.         return false;
  7.     }
  8.     else{
  9.         return true;
  10.     }
  11. }

Otra manera de validar pero con HTML5 de que se elija una opción del combo es mediante el uso del atributo required.

Código HTML:
Ver original
  1. <select name="intEvaluacion" id="intEvaluacion" required>

De esta forma, si el usuario no seleccionó una opción válida, se cancelará el envío de datos y se mostrará un mensaje en un pequeño recuadro debajo del combo en el que se le indicará al usuario que debe de elegir una opción de la lista. La desventaja está en que no funcionará en navegadores viejos que son los que no soportan HTML5. Ojo, estás haciendo mal al asignar el mismo id a todos los combos que se generen en el bucle. Corrige eso.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand