Foros del Web » Programando para Internet » Javascript »

Error al seleccionar todos los CHECKBOX.

Estas en el tema de Error al seleccionar todos los CHECKBOX. en el foro de Javascript en Foros del Web. Hola a todos. Mi problema es el siguiente, tengo una consulta de n registros de mi base de datos y al final de cada registro ...
  #1 (permalink)  
Antiguo 16/06/2004, 13:47
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 4 meses
Puntos: 0
Exclamación Error al seleccionar todos los CHECKBOX.

Hola a todos.

Mi problema es el siguiente, tengo una consulta de n registros de mi base de datos y al final de cada registro hay un checkbox para que el usuario pueda borrar los registros que quiera pero si el usuario desea borrar todos los regitros puse un checkbox al principio con el cual se puede seleccionar todos o ninguno. Esto lo intente con javascript pero no me esta jalando alguien puede decir cual es mi error acontinuacion pongo m icodigo:

<html>
<head>

<script>
function marcar(obj) {
elem=obj.parentNode.parentNode;
elem.style.backgroundColor=(obj.checked) ? 'white' : 'white';
}

function marcarTodos(obj) {
elem=document.getElementsByName('chk');
for(i=0;i<elem.length;i++) {
elem[i].checked=obj.checked;
fila=elem[i].parentNode.parentNode;
fila.style.backgroundColor=(obj.checked) ? 'white' : 'white';
}
}
</script>

</head>
<body>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="59%" id="AutoNumber1">
<tr>
<td width="25%" align="center"><b>Folio</b></td>
<td width="25%" align="center"><b>Marca</b></td>
<td width="25%" align="center"><b>Modelo</b></td>
<td width="25%" align="center"><input type="checkbox" name="todos" onclick="marcarTodos(this)"/></td>
</tr>

<?

$link = mysql_connect("localhost","", "");

mysql_select_db("Almacen", $link);

$result = mysql_query("SELECT Id,Folio,Marca,Modelo FROM existencias", $link);

while ($row = mysql_fetch_row($result)){

?>
<tr>
<td width="25%"><? echo "$row[1]"; ?>&nbsp;</td>
<td width="25%"><? echo "$row[2]"; ?>&nbsp;</td>
<td width="25%"><? echo "$row[3]"; ?>&nbsp;</td>
<td width="25%"><input type="checkbox" name="chk[]" onclick="marcar(this)"/ value="<? echo "$row[0]"; ?>"><? echo "$row[0]"; ?></td>
</tr>
<?
}
?>
</table>

</body>
</html>

Este codigo si me funciona si le quito al checkbox(chk) el array [], asi si me selecciona todos los checkbox y si se lo pongo no me esta jalando.
__________________
Hasta la victoria Siempre.
  #2 (permalink)  
Antiguo 16/06/2004, 15:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El problema es con tu javascript ..

Al usar "array" como nombre del checkbox (nombre[]) ya no puedes acceder al elemento en cuestión (con tus rutinas javascript) por el método que empleas .. creo que hay que hacerlo por "ID" y no por "name" (en elem=document.getElementsByName('chk'); )

Pero de todo esto .. te hablaran y confirmarán mejor en el foro de Javascript.

Un saludo,
  #3 (permalink)  
Antiguo 16/06/2004, 18:27
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 4 meses
Puntos: 0
Sigo teniendo el mismo problema alguien me puede ayuda por favor.
__________________
Hasta la victoria Siempre.
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 01:08.