Foros del Web » Programando para Internet » Javascript »

No perder el evento de un check al paginar!!!!

Estas en el tema de No perder el evento de un check al paginar!!!! en el foro de Javascript en Foros del Web. Otra vez yo!!!!! Si me ayudan con este les juro ke mi no molestar mas por un rato... ya estoy casi asi miren ->>> Tengo ...
  #1 (permalink)  
Antiguo 22/06/2004, 16:32
 
Fecha de Ingreso: noviembre-2003
Mensajes: 343
Antigüedad: 20 años, 5 meses
Puntos: 0
No perder el evento de un check al paginar!!!!

Otra vez yo!!!!!
Si me ayudan con este les juro ke mi no molestar mas por un rato... ya estoy casi asi miren ->>>

Tengo el siguiente codigo ke desaparese las columnas de una tabla, esto lo hace utilizando checkbox Ok, el problema eske ya en mi sistema, se despliega la info de marvilla y hace muchas otraa cosas aparte de desaparecer etc... PERO ESE NO ES EL CASO, el PROBLEMA eske al PAGINAR EN ASP, y pasar a la siguiente pierdo los valores que tienen los checkbox y pues si la coluna estava desaparecida, VUELVE A APARECER y PUES no SIRVE DE NADA, porke tendria ke volver a esconderlas una y otra vez cada vex que PAGINE o se actuliza de una u otra manera la PAGINA..
eh intentado pasar los estados de los check pero el problema esta en ke como se desaparecer por medio del evento onclick pues los parametros no me sirvieron de muchos asi ke ESPERO Y ME PUEDAN AYUDAR

ESPERO ME HAYA DADO A ENTENDER, y hay les va el código base para hacer desaparecer las columnas, ahora pues la idea eske no se vuelva a aparecer la columna cuando haga un paginar.asp?Mantenerevento=1 ó algo asi.

PUES ME VOY y haber ke pasa bye les dejo el codigo..


<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Columnas&nbsp; 1&nbsp; 2&nbsp; 3&nbsp; 4&nbsp; 5</title>

<script language="javascript">
var showMode = 'table-cell';
if (document.all) showMode='block';
function toggleVis(btn){
btn = document.forms['tcol'].elements[btn];
cells = document.getElementsByName('t'+btn.name);
mode = btn.checked ? showMode : 'none';
for(j = 0; j < cells.length; j++) cells[j].style.display = mode;
}

</script>

</head>

<body>
<form name="tcol" onsubmit="return false">
Columnas
<input type=checkbox name="col1" onclick="toggleVis(this.name)" checked> 1
<input type=checkbox name="col2" onclick="toggleVis(this.name)" checked> 2
<input type=checkbox name="col3" onclick="toggleVis(this.name)" checked> 3
<input type=checkbox name="col4" onclick="toggleVis(this.name)" checked> 4
<input type=checkbox name="col5" onclick="toggleVis(this.name)" checked> 5
</form>

<table border=1>
<tr>
<td name="tcol1" id="tcol1" class="bold">columna1</td>
<td name="tcol2" id="tcol2">columna2</td>
<td name="tcol3" id="tcol3" class="italic">columna3</td>
<td name="tcol4" id="tcol4">columna4</td>
<td name="tcol5" id="tcol5">columna5 </td>
</tr>
<tr>
<td name="tcol1" id="tcol1" class="bold">&nbsp;</td>
<td name="tcol2" id="tcol2">&nbsp;</td>
<td name="tcol3" id="tcol3" class="italic">&nbsp;</td>
<td name="tcol4" id="tcol4">&nbsp;</td>
<td name="tcol5" id="tcol5">&nbsp;</td>
</tr>
</table>

</body>

</html>
__________________


La tecnología es un hecho objetivo, y el resultado está sujeto a la voluntad humana.
  #2 (permalink)  
Antiguo 02/07/2004, 17:11
Avatar de TurKa  
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 21 años, 3 meses
Puntos: 4
Lo que puedes hacer es algo complejo pero servirá seguro.
Al paginar los datos debes enviar también los valores de las casillas y checkearlas o no según las variables que recojas en ASP.

Aprovechando que puedes integrar ASP a JavaScript, si adhieres la siguiente función a tu script, podrás solucionarlo:

Código HTML:
function paginar() {
if(tcol.col1.checked == true) { col1 = 1; } else { col1 = 0; }
if(tcol.col2.checked == true) { col2 = 1; } else { col2 = 0; }
if(tcol.col3.checked == true) { col3 = 1; } else { col3 = 0; }
if(tcol.col4.checked == true) { col4 = 1; } else { col4 = 0; }
if(tcol.col5.checked == true) { col5 = 1; } else { col5 = 0; }

variables = "col1=" + col1 + "&col2=" + col2 + "&col3=" + col3 + "&col4=" & col4 + "&col5=" + col5;

location.href = "tupagina.asp?variablesdepaginacion=<%=tusvariables%>&" + variables;
}
Luego, deberás integrar ASP a la tabla. ¿Qué hará el ASP? Deberá verificar el valor de cada variable.
Si la variable tiene valor 1 es que está marcada. Entonces, escribes la celda correspondiente.
Si tiene valor = 0 es que no está marcada. Entonces, no se escribe la celda.

¿Cómo lo aplicas?

<table border=1>
<tr>
<% if Request.Querystring("col1") = 1 then %>
<td name="tcol1" id="tcol1" class="bold">columna1</td>
<% end if
if Request.Querystring("col2") = 1 then %>

<td name="tcol2" id="tcol2">columna2</td>
<% end if
if Request.Querystring("col3") = 1 then %>

<td name="tcol3" id="tcol3" class="italic">columna3</td>
<% end if
if Request.Querystring("col4") = 1 then %>

<td name="tcol4" id="tcol4">columna4</td>
<% end if
if Request.Querystring("col5") = 1 then %>

<td name="tcol5" id="tcol5">columna5 </td>
<% end if %>

Y luego repites esas condiciones "if" en las otras celdas (la de la segunda fila, que yo no escribí por ahorrar tiempo ).

Ahora ¿Cómo creas el enlace para paginar los resultados? deberás llamar a la función de JavaScript "paginar()"

<a href="#" onClick="paginar()">Siguiente ></a>

Algo muy importante:
En la función paginar() de JavaScript deberás indicar las variables de ASP a enviar:

Por ejemplo, tienes en ASP las siguientes variables:
<% page = Request.Querystring("page") %>

En Javascript deberás escribirla como lo harías normalmente en HTML (ya que ASP se procesará antes de llegar al usuario el script estará interpretado sin problemas:

location.href = "tupagina.asp?page=<%=Request.Querystring("pag e") %>&" + variables;

Ojalá te sirva.

Un Saludo!!!
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:11.