Foros del Web » Programando para Internet » Javascript »

datos marcados en un checkbox al volver de otra paguina

Estas en el tema de datos marcados en un checkbox al volver de otra paguina en el foro de Javascript en Foros del Web. hola amigos tengo el siguiente problema, tengo un checkbox dinamico con muchos valores, lo tengo puesto para que como mucho se puedan marcar 8, si ...
  #1 (permalink)  
Antiguo 13/09/2010, 18:09
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
datos marcados en un checkbox al volver de otra paguina

hola amigos tengo el siguiente problema, tengo un checkbox dinamico con muchos valores, lo tengo puesto para que como mucho se puedan marcar 8, si paso a la sigueinte paguina del formulario y vuelvo me deja marcar otros 8, no sabe que valores taban marcados anteriormente

cual creeis que es la solucion???

un saludo y gracias
  #2 (permalink)  
Antiguo 13/09/2010, 18:15
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: datos marcados en un checkbox al volver de otra paguina

no me creas, pero para mi que la solucion es escribir en la linea 13 un espacio, tabular y un salto de linea.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 13/09/2010, 18:18
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
Respuesta: datos marcados en un checkbox al volver de otra paguina

Cita:
Iniciado por zerokilled Ver Mensaje
no me creas, pero para mi que la solucion es escribir en la linea 13 un espacio, tabular y un salto de linea.
eso es un chiste mas o menos no???

tamos aburrios???
  #4 (permalink)  
Antiguo 13/09/2010, 18:21
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: datos marcados en un checkbox al volver de otra paguina

¿que tu crees? mas que aburrido, muchos estamos cansado de pedir que muestren el codigo del problema o una url donde podamos reproducirlo. con tantos codigos y formas, es muy imposible que alguien te pueda ayudar con tan solo lo que has mencionado de entrada.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 13/09/2010, 18:25
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
Respuesta: datos marcados en un checkbox al volver de otra paguina

Cita:
Iniciado por zerokilled Ver Mensaje
¿que tu crees? mas que aburrido, muchos estamos cansado de pedir que muestren el codigo del problema o una url donde podamos reproducirlo. con tantos codigos y formas, es muy imposible que alguien te pueda ayudar con tan solo lo que has mencionado de entrada.
cuando es un problema asi no me gusta llenaros la paguina de codigo, disculpe usted no volera a pasar


esto es la funcion que me hace marcar un limete de arrays, esta reutilizada por que ahi se puede hacewr con arrays bidimensionmales, yo ahora mismo solo utilizo unidimensionales:

<script type="text/javascript">
//Número máximo de casillas marcadas por cada fila
var maxi=8;

//El contador es un arrayo de forma que cada posición del array es una linea del formulario
var contador=new Array(0,0);

function validar(check,grupo) {
//Compruebo si la casilla está marcada
if (check.checked==true){
//está marcada, entonces aumento en uno el contador del grupo
contador[grupo]++;
//compruebo si el contador ha llegado al máximo permitido
if (contador[grupo]>maxi) {
//si ha llegado al máximo, muestro mensaje de error
alert('No se pueden elegir más de '+maxi+' casillas a la vez.');
//desmarco la casilla, porque no se puede permitir marcar
check.checked=false;
//resto una unidad al contador de grupo, porque he desmarcado una casilla
contador[grupo]--;
}
}else {
//si la casilla no estaba marcada, resto uno al contador de grupo
contador[grupo]--;
}
}


esta e sla linea del los checkbox:
echo "<input name=\"check_sub[]\" id=\"check_sub\" type=\"checkbox\" value=".$row_sub["id_subsector"]." onclick=\"validar(form_emp.check_sub[$idsub],0)\" /><label>".htmlentities($row_sub["nom_subsector"])."</label>";
</script>
  #6 (permalink)  
Antiguo 13/09/2010, 18:41
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: datos marcados en un checkbox al volver de otra paguina

ya me suponia que usabas un contador y justo ahi es donde tienes el problema. cuando el navegador vuelve a cargar el documento, el contador se reinicia. eso es normal. en lugar de usar un contador, deberias contabilizar los checkboxes marcados cada vez que se elige uno. es decir, en cada eleccion tienes que recorrer por todos los checkbox del mismo grupo e ir contando los campos marcados. de esta forma no importa si el documento carga con checkboxes predeterminados o si el usuario regresa al documento mediante back, deberia llevar bien el conteo.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 13/09/2010, 18:44
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
Respuesta: datos marcados en un checkbox al volver de otra paguina

Cita:
Iniciado por zerokilled Ver Mensaje
ya me suponia que usabas un contador y justo ahi es donde tienes el problema. cuando el navegador vuelve a cargar el documento, el contador se reinicia. eso es normal. en lugar de usar un contador, deberias contabilizar los checkboxes marcados cada vez que se elige uno. es decir, en cada eleccion tienes que recorrer por todos los checkbox del mismo grupo e ir contando los campos marcados. de esta forma no importa si el documento carga con checkboxes predeterminados o si el usuario regresa al documento mediante back, deberia llevar bien el conteo.
ok, tonces al ser un checbox dinamico primero cojo el numero de datos de la bd, los recorro todos viendo cual esta en true y cual no y eso es lo que contabilizo no???
  #8 (permalink)  
Antiguo 13/09/2010, 19:14
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: datos marcados en un checkbox al volver de otra paguina

no se a que exactamente te refieres cuando dices coger el numero de datos de la BD, pero no creo que te haga falta siempre y cuando puedas identificar todos los checkboxes desde javascript. a continuacion un ejemplo. en este codigo, en lugar de devolver un mensaje, simplemente no deja marcar el checkbox.
Código:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Test Development</title>
<script type='text/javascript'>
// asignar los eventos cuando cargue el documento;
self.onload = function(){
for(var checks = document.getElementsByName("check[]"), max = 3, i = 0; checks[i]; i++) checks[i].onclick = function(){
for(var count = 0, i = 0; checks[i]; i++) if(checks[i].checked) count++;
return count <= max;
}};
</script>
<style type='text/css'>

</style>
</head>

<body>
<input type="checkbox" name="check[]" />
<input type="checkbox" name="check[]" />
<input type="checkbox" name="check[]" />
<input type="checkbox" name="check[]" />
<input type="checkbox" name="check[]" />
</body></html>
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 13/09/2010, 19:19
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
Respuesta: datos marcados en un checkbox al volver de otra paguina

Cita:
Iniciado por zerokilled Ver Mensaje
no se a que exactamente te refieres cuando dices coger el numero de datos de la BD, pero no creo que te haga falta siempre y cuando puedas identificar todos los checkboxes desde javascript. a continuacion un ejemplo.
Código:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Test Development</title>
<script type='text/javascript'>
// asignar los eventos cuando cargue el documento;
self.onload = function(){
for(var checks = document.getElementsByName("check[]"), max = 3, i = 0; checks[i]; i++) checks[i].onclick = function(){
for(var count = 0, i = 0; checks[i]; i++) if(checks[i].checked) count++;
return count <= max;
}};
</script>
<style type='text/css'>

</style>
</head>

<body>
<input type="checkbox" name="check[]" />
<input type="checkbox" name="check[]" />
<input type="checkbox" name="check[]" />
<input type="checkbox" name="check[]" />
<input type="checkbox" name="check[]" />
</body></html>

tienes razon cuano me puesto hacerlo me dao cuenta k es mas facil asi, gracias por tu timepo
  #10 (permalink)  
Antiguo 13/09/2010, 19:37
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
Respuesta: datos marcados en un checkbox al volver de otra paguina

Cita:
Iniciado por churretin Ver Mensaje
tienes razon cuano me puesto hacerlo me dao cuenta k es mas facil asi, gracias por tu timepo
pues no a sido tan facil jijiij

tu funcion tengo que mezclarla con la mia, para que me muestre una alerta cuando pasa de x registros marcados y se desmarque, eso seria:

if (contador[grupo]>maxi) {
//si ha llegado al máximo, muestro mensaje de error
alert('No se pueden elegir más de '+maxi+' casillas a la vez.');
//desmarco la casilla, porque no se puede permitir marcar
check.checked=false;
//resto una unidad al contador de grupo, porque he desmarcado una casilla
contador[grupo]--;

es que con el tuyo no sucede esto, como puedo solucionarlo??
  #11 (permalink)  
Antiguo 13/09/2010, 19:50
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: datos marcados en un checkbox al volver de otra paguina

echale neuronas porque imaginate! con el mismo ejemplo que expuse, en la linea que dice return la cambias por lo siguiente:
Código:
return count <= max? true: Boolean(alert("solo se permiten "+max+" opciones."));
la idea no es que uses exactamente mi codigo, sino que lo analices y apliques lo fundamental en tu codigo.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 13/09/2010 a las 20:09
  #12 (permalink)  
Antiguo 13/09/2010, 20:29
 
Fecha de Ingreso: abril-2010
Ubicación: Extremadura
Mensajes: 128
Antigüedad: 14 años
Puntos: 2
Respuesta: datos marcados en un checkbox al volver de otra paguina

Cita:
Iniciado por zerokilled Ver Mensaje
echale neuronas porque imaginate! con el mismo ejemplo que expuse, en la linea que dice return la cambias por lo siguiente:
Código:
return count <= max? true: Boolean(alert("solo se permiten "+max+" opciones."));
la idea no es que uses exactamente mi codigo, sino que lo analices y apliques lo fundamental en tu codigo.
comprendo lo que me dices, pero lo estabamos haciendo de una manera muy diferente y taba muy perdio, lo tuyo sigue sin funcionarme, mas que na por que no consigo unirlo con mi funcion para que me de los resultados que necesito, tal y como tu me as dicho me deja marcar aun todoas las casillas que kiera sin maximo ni na

Etiquetas: checkbox, volver
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 00:03.