Foros del Web » Programando para Internet » Javascript »

como selecionar varios checkbox con un botón u otro obj.

Estas en el tema de como selecionar varios checkbox con un botón u otro obj. en el foro de Javascript en Foros del Web. saludos, gracias por leer el post, tengo el sgte problema, estoy creando un sistema donde tengo un listado de productos, cada producto tiene asociado un ...
  #1 (permalink)  
Antiguo 03/11/2004, 01:50
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 20 años, 5 meses
Puntos: 0
como selecionar varios checkbox con un botón u otro obj.

saludos, gracias por leer el post, tengo el sgte problema, estoy creando un sistema donde tengo un listado de productos, cada producto tiene asociado un checkbox q guarda el ID del producto, por reglas de manejo con PHP para procesar estos checkboxes debo coloca en su nombre estos paréntesis cuadrados o corchetes "[]" ej:
Código HTML:
<input type="checkbox" name="campo[]">
<input type="checkbox" name="campo[]">
<input type="checkbox" name="campo[]">
<input type="checkbox" name="campo[]"> 
sin los corchetes PHP no me procesa la información retribuida por los checks, pero mi función para seleccionarlos todos a la vez deja de funcionar porque debería referirme a un objeto como
Código:
document.forma.campo[].checked
y aki aparece mi problema, lo he intentado con getElementByID(), getElementsByName() pero creo que por convenciones de lenguaje javascript no puedo hacer referencia a un elemento que tenga los corchetes por tratarse de elementos en un array. si alguien puede darme una mano con esto le estaría eternamente agradecido y puedo serle de mucha ayuda en PHP, ASP, MySQL, SQL Server y Oracle...entre otros...

esperando que alguien pueda tenderme una mano...me despido, saludos y muchas gracias
  #2 (permalink)  
Antiguo 03/11/2004, 02:45
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola HiTek:

Prueba con los arrays asociativos:

document.forms.forma["campo[]"].checked

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 03/11/2004, 02:53
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Es fácil!

Supongo que estarán dentro de un formulario. Puedes hacer lo siguiente:

Suponiendo que el formulario se llame "pepe":
Código:
<form action="salchicha.php" name="pepe">
haces con javascript lo siguiente dentro del HEAD:
Código HTML:
<script>

function marcarTodos(marca){
formulario=document.forms["pepe"];
for(a=0;a<formulario.length;a++){
elemento=formulario[a];
if(elemento.type=="checkbox"){
elemento.checked=marca;
}
}
}
</script> 
Y luego en el formulario pones un checkbox parecido a este:
Código HTML:
<input type="checkbox" name="DesYMarcarTodos" onclick="marcarTodos(this.checked)"> 
No lo he probado. Voy a comprobar si funciona y te digo si tiene algún fallo.

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 03/11/2004 a las 03:18
  #4 (permalink)  
Antiguo 03/11/2004, 03:17
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Este ejemplo:

Código HTML:
<html>
<head>
	<title>Untitled</title>
	<script>

function marcarTodos(marca){
formulario=document.forms["pepe"];
for(a=0;a<formulario.length;a++){
if(formulario.elements[a].type=="checkbox"){
formulario.elements[a].checked=marca;
}
}
}
</script>
<style>
*{font:normal 10px/20px verdana}
</style>
</head>

<body>
<form action="salchicha.php" name="pepe">
Nombre:<input type="text" name="nombre"><br>
Regimen:<select type="select" name="cosas" size="1">
<option>vegetariano
<option>Carnívoro
<option>Postrivoro
</select><br>

<input type="checkbox" name="campo[]">Comer Salchichas<br>
<input type="checkbox" name="campo[]">Comer Brocoli<br>
<input type="checkbox" name="campo[]">Comer Arroz<br>
<input type="checkbox" name="campo[]">Comer Pepinillo<br><br>

<input type="checkbox" name="DesYMarcarTodos" onclick="marcarTodos(this.checked)">* * *Comerlo todo * * *
</form>


</body>
</html> 
Funciona en IE, en NS 4.78, en Opera, en Mozilla, en firefox...

Espero que te sirva!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 03/11/2004 a las 03:22
  #5 (permalink)  
Antiguo 03/11/2004, 20:29
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 20 años, 5 meses
Puntos: 0
gracias muchachos por sus ayudas, estoy probando y probando, aún no he logrado que funcione pero en eso estamos, apenas tenga buenos frutos les aviso, 1 millón de gracias y si necesitan ayuda de los temas en los que si tengo mas experiencia con gusto recibo sus dudas, saludos y gracias
  #6 (permalink)  
Antiguo 04/11/2004, 02:22
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Si nos pones un ejemplo de cómo quedaría el formulario entero en HTML (no el código ASP sino el que muestra el navegador) tal vez te podamos ayudar más.

Y, no te preocupes, aquí la ayuda es desinteresada. Hoy por tí y mañana por mí...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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 18:32.