Foros del Web » Programando para Internet » Javascript »

Validar varios listbox dentro de un while

Estas en el tema de Validar varios listbox dentro de un while en el foro de Javascript en Foros del Web. Estimados tengo una serie de listbox que dependiendo de los datos del while pueden ser mas o menos y quiero validar que si precione submit ...
  #1 (permalink)  
Antiguo 28/12/2012, 13:46
 
Fecha de Ingreso: abril-2012
Mensajes: 65
Antigüedad: 12 años
Puntos: 0
Validar varios listbox dentro de un while

Estimados tengo una serie de listbox que dependiendo de los datos del while pueden ser mas o menos y quiero validar que si precione submit al menos halla seleccionado un elemento de un listbox

Código PHP:
while ($query=mysql_fetch_array($listbox)) {

echo 
"<select name='list[]'>
    <option value='0'></option>
    <option value='1'>1</option>
    <option value='2'>2</option>
    <option value='3'>3</option>
 </select></p>"
;


El codigo es mas amplio pero es mas o menos el ejemplo y al final un boton que al precionar manda cuantos registros les puso 1 o 2 u 3, pero al menos un registro debe haver seleccionado para que al final lo deje pasar



Estaba tratando de hacer una funcion validadora en javascript, pero no esta dandome resultado.

Código HTML:
function validar_selec(){
   var cont = 0;
   for(i = 0; i < document.forms[0].elements.length ; i++)
   {
	   if(document.forms[0].elements[i].type == "select-one")
	   {
		       if(document.forms[0].elements[i].value == 0)
			 {
		        cont++;
		     }
	   }
   }  
            if(cont<=0)
			{
				alert("Seleccione al menos un Elemento");
				return false;
            }else{
				return true;
			}

}
  #2 (permalink)  
Antiguo 28/12/2012, 14:17
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Validar varios listbox dentro de un while

Una forma de hacerlo es, que crees una variable que tenga como tipo un valor bool, es decir false o true y recorres los valores, si existe algún valor entonces cambia el valor de esa variable al contrario de lo que colocaste y luego verifica si el valor cambio despues del bucle que hayas usado para recorrerlo. De esa forma puedes saber si existe o no valor alguno.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 31/12/2012, 10:59
 
Fecha de Ingreso: abril-2012
Mensajes: 65
Antigüedad: 12 años
Puntos: 0
Respuesta: Validar varios listbox dentro de un while

Pero con este codigo de Validacion JS ya estoy cerca.

Por ejemplo si no seleeciono ninguna de opcion de los varios listbox que genere con el while del php, me avisa que no ahy ninguno seleccionado



el problema es que ya al seleccionar al quesea una opcion de algun listbox generado por el while, ya me deberia dejar pasar (aunque seleccione una opcion y dejo los otros 10 listbox en blanco) ya la comprobacion deberia dejarme pasar y no lo hace...



(ejemplo de solo 2 listboxs, pero aunque fueran 30 listbox con solo uno seleccionado deberia dejarme pasar)


como decia mas arriba estoy tratando de hacer la comprobacion javascrippt con este codigo y el espacio en blanco seleecionado por defecto es 0, pero en algo me eh equivocado...

Código PHP:
<option value='0' selected "selected"> </option
Código PHP:
function validar_selec(){
   var 
cont 0;
   for(
0document.forms[0].elements.length i++)
   {
       if(
document.forms[0].elements[i].type == "select-one")
       {
               if(
document.forms[0].elements[i].value == 0)
             {
                
cont++;
             }
       }
   }  
            if(
cont<=0)
            {
                
alert("Seleccione al menos un Elemento");
                return 
false;
            }else{
                return 
true;
            }


  #4 (permalink)  
Antiguo 02/01/2013, 10:00
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: Validar varios listbox dentro de un while

tus select o combos estan dentro de un <form></form>?

coloca un alert despues de:

if(document.forms[0].elements[i].type == "select-one")
{
alert(document.forms[0].elements[i]..value);
}

para q tengas una idea

tambien seria bueno que colocaras todo el codigo html ya generado , o empezar a realizar tu validacion con un html puro sin la creacion de tus combos mediante un while
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”

Etiquetas: listbox, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:59.