Ver Mensaje Individual
  #9 (permalink)  
Antiguo 06/11/2003, 10:36
Avatar de tunait
tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 4 meses
Puntos: 381
Bueno, en la parte cliente te puedo ayudar, y en servidor al recoger los datos puedes usar la propuesta de DADU.

Suponiendo que tienes una tabla con x filas y n columnas yá creada y de id="tablita"


<SCRIPT LANGUAGE="JavaScript">
var valores = new Array()
function asigna(){
for(m=0;m<document.getElementById('tablita').getEl ementsByTagName('td').length;m++){
document.getElementsByTagName('td')[m].id='T'+m
document.getElementsByTagName('td')[m].style.backgroundColor = 'white'
document.getElementsByTagName('td')[m].onclick=function(){
colorea(this.id)
}
valores[m] = false
}
}
function colorea(cual){
celda = document.getElementById(cual).style.backgroundColo r
celda == 'white' ? document.getElementById(cual).style.backgroundColo r = 'gray' : document.getElementById(cual).style.backgroundColo r = 'white'
valores[cual.substr(1)] = celda == 'white' ? true : false
document.forms[0].Valores.value = valores
}
</script>

En body le pones.....

<body onload="asigna()">

Luego pones tu tabla con las celdas que te dé la gana. No hace falta que le des id's a las celdas, ni onclicks ni nada, sólo dale por id a tu tabla "tablita"

<table width="100%" border="1" id="tablita">
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>

Finalmente el formulario desde el cual se enviarán los datos para guardarlos en la base de datos

<form action="loquesea.asp" method="post">
<input name="Valores" type="hidden" value="">
</form>

Cuando se envíe, a la página que los recoja le pides que te guarde el valor de Valores en alguna variable


<%
Valores = split(request.form("Valores"),",")
%>

Y está listo para enviarlo a la BD referenciando cada valor por su posición dentro del array

pepe = Valores(posicion)

Los valores se guardan como true o false; true indica que la celda fué seleccionada y false indica que no lo fue


a ver si te sirve....

Última edición por tunait; 06/11/2003 a las 10:38