Foros del Web » Programando para Internet » Javascript »

Checkbox - Error en ciclo

Estas en el tema de Checkbox - Error en ciclo en el foro de Javascript en Foros del Web. Buenos Dias!!.. Tengo el siguiente ciclo donde genero un listado con su respectivo checkbox Código PHP: $consulta = mysql_query ( "........" , $link )or die( 'Hubo un error en la consulta' ...
  #1 (permalink)  
Antiguo 07/05/2007, 10:00
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Exclamación Checkbox - Error en ciclo

Buenos Dias!!..

Tengo el siguiente ciclo donde genero un listado con su respectivo checkbox

Código PHP:
$consulta=mysql_query("........",$link)or die('Hubo un error en la consulta'.mysql_error());
$i=0;
while (
$row mysql_fetch_array($consulta)) {
//consulta de la tabla certificados para la carga del menu
echo <<< HTML
<tr>
   <td> $numero_certificado </td>
    <td><input type='hidden' name='cod_exportador[]' value="$numero_nit"> $numero_nit </td>
    <td><input type=hidden name='nom_exportador[]' value="$nom_exportador"> $nom_exportador </td>
   <td><input type=hidden name='fecha_generacion[]' value="$fecha_generacion"> $fecha_generacion </td>
   <td><input type="checkbox" name='opcion[]' value="$numero_certificado" ></td>
</tr>
HTML;
$i++;
}
echo<<< HTML
    <input type='hidden' name='contador' value='$i'>
    <tr>
        <td align=center colspan=6>
        <input type=submit name=aprobacion value=Imprimir ></td>
    </tr>
</table>
</form>
HTML; 
Y aqui la validacion en js

Código HTML:
function verificar() {
	ele=document.r_certificados_pendientes['contador'].value;
	alert('numero '+ele);

	num=0;

	for(i=0; i<= ele; i++){
  	if(document.r_certificados_pendientes['opcion[]'][i].checked == true)
    {
	num++;
	alert('aa'+num);
	}
	}

	if (num != 0){
	alert('aa'+num);

	 return true;
    }

	else{
   	alert('Debe seleccionar al menos 1');
    return false;
	}

	}

La validacion me funciona perfectamente cuando en el listado tengo mas de 1 registro.. y la verdad no veo que pueda ser el error que tenga.. ya que cuando se genera el listado y solo tengo 1 checkbox chequeado o sin chequear la validacion no funciona y me hace el envio de los datos.

Agradezco la persona que me pueda hechar una manito con esto.

Gracias!
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #2 (permalink)  
Antiguo 07/05/2007, 14:06
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Re: Checkbox - Error en ciclo

yo lo que hago es preguntar si el arreglo del checkbox

tohay=document.forms.formulario2.acciones2.length;
if(tohay==undefined)

y de ahi ya seria que probaras en caso de que no se cumpla haces tu validacion
si no solo pregunta por el nombre del checkbox

espero darte una idea no digo que sea asi

saludos
__________________
gerardo
  #3 (permalink)  
Antiguo 08/05/2007, 10:26
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
De acuerdo Re: Checkbox - Error en ciclo

GRacias chalchis.. Estuve intentando como me dijiste pero no pude .... Lo que hice basicamente fue modificar dos cosas
la primera le coloque un id al checkbox
Cita:
<td><input type="checkbox" name='opcion[]' id='opcion$i' value="$numero_certificado" ></td>
y por ultimo en el for que tenia en el js lo puse a que rrecorriera ese id

Cita:
for(i=0; i< ele; i++){
if(document.getElementById('opcion'+(i)).checked == true)
{
num++;

}
y listo me funciono como queria..
__________________
:.:Nano.:: @nano_hard - Retornando al foro
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 06:03.