Foros del Web » Programando para Internet » Javascript »

Problemas con celdas dinamicas

Estas en el tema de Problemas con celdas dinamicas en el foro de Javascript en Foros del Web. HOla foro tengo un problema: no se si sea aqui o en javascript, pero tiene de los 2 foros este problema estoy haciendo un consulta ...
  #1 (permalink)  
Antiguo 29/07/2004, 07:43
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 2 meses
Puntos: 0
Pregunta Problemas con celdas dinamicas

HOla foro tengo un problema:

no se si sea aqui o en javascript, pero tiene de los 2 foros este problema

estoy haciendo un consulta para mostrar las horas, el resultado los pongo en una celda dinamica, y un hidden(<input type=hidden>) donde lleva el id de la hora, el problemas es al momento de hacer referencia a ellos no me los toma como objetos.

Código PHP:

<script>

function oculta(){
document.celda.style.display='none';
}

</script>

<?
$cons
="select * from horario order by hora";
$res=mysql_query($cons,$conex) or die ("No se pudo realizar la consulta de horario");
?>
<form action=pagina.php method=GET>
<table>
<?
while ($row=mysql_fetch_row($res)){
echo 
"<tr><td id='celda' style='display:block;' onclick='oculta()'>$row[1]<input type=hidden value=$row[0]>";
}
echo 
"<input type=submit value=guardar>";

?>
he echo referencia e la celda con un (this), por ejemplo.

function oculta(este){
este.style.display='none';
}

Código PHP:
echo "<tr><td id='celda' style='display:block;' onclick='oculta()'><input type=hidden value=$row[0]>"
hay dos cosas, cuando pongo la celda en none (style='display:none;') visualmente me desaparece la celda y el hidden, pero al momento de guardarlos nada mas los que deje en pantalla(style='display:block;')
me vuelve a guardar todos. ( no se mucho de esa propiedad pero pensaba que desactivava las celdas y no tomaba en cuenta al momento de guardarlos a los que estaban "desactivados"(style='display:none;').

ahora. yo queria hacer que al momento de ejecutar la funcion tambien me desactivara el hidden, pero si le aplico el (this):

function oculta(este){
este.style.display='none';
}

no podre hacer referencia al hidden por que estoy mandando llamar al objeto(<td>). como poder hacerlo tienen una idea ???
  #2 (permalink)  
Antiguo 29/07/2004, 08:06
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 11 meses
Puntos: 16
Hola,

Primer fallo: en HTML el atributo id debe ser unico. Y en tu codigo estas generando x celdas con el mismo id.

Segundo fallo: los campos hidden tienen que tener nombre (atributo name), que tambien debe ser unico. En este caso no se que vas a hacer con esos valores en el action.

Tercer fallo: el navegador envia todos los campos del formulario, esten visibles o no. Que no se vea no quiere decir que no se envie.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 29/07/2004, 08:19
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 2 meses
Puntos: 0
ok primero muchas gracias por constarme josemi.

si tienes razon aqui se me paso ponerle nombre a los hidden,y alo que te refieres al id estaba usando el (this) para mandar llamar al objeto,,,,,

bueno simplemente quiero que las celdas(<td>) que desaparezcan no me los tome el submit,(estos datos que envio a otra pagina los voy a guardar en una base de datos), lo que pretendia era al momento que desaparezcan las celdas poner los desaparecidos en valor nulo o desactivarlos, mas que nada mi duda era como hacer eso, que no me tome los valores que ya estan desaparecidos, para que al momento que guarde nada mas me tome los que estan en pantalla.

no se si me explique.


Última edición por The_omars; 29/07/2004 a las 08:22
  #4 (permalink)  
Antiguo 29/07/2004, 09:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Y .. PHP ..? que tendría que ver en todo esto cuando hay problemas de HTML/javascript/css?

Muevo el mensaje al foro de javascript para que te orienten ..

Un saludo,

PD: lo ideal es que tomes el código que genera PHP (sea como sea) en tu navegador->ver código fuente .. y lo pegas aquí para que la gente (del foro Javascript que no tiene por qué saber ni PHP ni lo que resultará de eso) se haga una idea de que puede fallar.
  #5 (permalink)  
Antiguo 29/07/2004, 10:25
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 2 meses
Puntos: 0
alguien me puede ayudar??????????
  #6 (permalink)  
Antiguo 30/07/2004, 13:04
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 2 meses
Puntos: 0
ayudaaaaa por favor
  #7 (permalink)  
Antiguo 31/07/2004, 02:19
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola The_omars:

Con el DOM puedes encontrar el primer hijo de cada celda y deshabilitarlo:

function oculta(este){
este.style.display='none';
este.firstChild.disabled = true;
}

Si no fuese el primer hijo de la celda (si pones un espacio en blanco mozilla no lo conocería) tendrías que recorrer los hijos del nodo de la celda hasta encontrarlo:

function oculta(este){
este.style.display='none';
primogenito = este.firstChild;
while (primogenito.nodeName != "INPUT") primogenito = primogenito.nextSibling;
primogenito.disabled = true;
}

Todo esto es DOM, y hay que hacer algunas pruebas para cerciorarse de que está bien...
Te invito a que lo pruebes y digas si funciona.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 31/07/2004, 07:27
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 2 meses
Puntos: 0
Muchas gracias por contestarme caricatos, eres un fenomeno en esto del javascript, funciono prefecto.

function oculta(este){
este.style.display='none';
primogenito = este.firstChild;
while (primogenito.nodeName != "INPUT") primogenito=primogenito.nextSibling;
primogenito.disabled = true;
}

gracias por contestar mi duda y mejor por resolverla

  #9 (permalink)  
Antiguo 31/07/2004, 11:45
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284


Me alegra de que funcione

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 (incluyéndote)




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