Foros del Web » Programando para Internet » Javascript »

Obtener valor columna con DOM

Estas en el tema de Obtener valor columna con DOM en el foro de Javascript en Foros del Web. Hola!! Mi problema es que no se como saber el valor de una determinada columna.He conseguido saber la fila( que es el valor que contiene ...
  #1 (permalink)  
Antiguo 02/04/2008, 05:08
 
Fecha de Ingreso: septiembre-2007
Mensajes: 234
Antigüedad: 17 años, 2 meses
Puntos: 1
Exclamación Obtener valor columna con DOM

Hola!!
Mi problema es que no se como saber el valor de una determinada columna.He conseguido saber la fila( que es el valor que contiene la variable i), pero no la columna.
Mi código es:

Cita:
function borrar(obj) {

tab = obj.parentNode.parentNode.parentNode;
var i = obj.parentNode.parentNode.rowIndex;
alert(i);
tab = document.getElementById(miTabla);
filas =tab.getElementsByTagName('tr');
columnas=filas.getElementsByTagName('td')[1].id;
alert(columnas.name);
Como puedo obtener el valor de la columna??
Un saludo y gracias
  #2 (permalink)  
Antiguo 02/04/2008, 05:34
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Re: Obtener valor columna con DOM

Hola:

Más o menos está bien el razonamiento, pero los arrays empiezan por el índice 0, y tanto id, como name parecen ser atributos, pero el name no es un atributo estándar de celdas... pero si quieres el contenido, la forma más fácil es leer su innerHTML.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 02/04/2008, 05:56
 
Fecha de Ingreso: septiembre-2007
Mensajes: 234
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: Obtener valor columna con DOM

Hola!! Si, pues sigue dandome error...
Cita:
tab = obj.parentNode.parentNode.parentNode;
var i = obj.parentNode.parentNode.rowIndex;
alert(i);
tab = document.getElementById(miTabla);
filas =tab.getElementsByTagName('tr');
alert(filas.getElementsByTagName('td')[1].innerHTML);
Mi tabla está creada de la siguente manera:
Cita:
<tr>
<input id="codigo" value="<?= $registro['codigo'];?>" type="hidden">
<td><img src="../../../img/anadir1.jpg" alt="añadir fila"/><img src="../../../img/eliminar1.jpg" alt="borrar fila"/></td>
<td bgcolor="#FFFFCC"/><?php echo $registro['nombre']; ?></td>
<td bgcolor="#FFFF99"/><?php echo $registro['tipo']; ?></td>
</tr><?
me dice que el objeto no acepta esa propiedad.....
  #4 (permalink)  
Antiguo 02/04/2008, 07:22
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Re: Obtener valor columna con DOM

Hola:

No estás poniendo todo el código (necesario)...
Código:
tab = document.getElementById(miTabla);
Al no estar miTabla entrecomillada, se supone una variable, y si no existe devuelve "undefined" que no creo que sea el id que buscas... pero es mejor que pongas el código necesario (sin pasarse)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 02/04/2008, 09:41
 
Fecha de Ingreso: septiembre-2007
Mensajes: 234
Antigüedad: 17 años, 2 meses
Puntos: 1
Exclamación Re: Obtener valor columna con DOM

Hola:
haber, me vuelvo a explicar.
Creo una tabla dinamica a partir de una BD.
Y para ello hago:
Cita:
<table id="tabla" bordercolor='#009999' border='3'>
<th>OPCI&Oacute;N</th>
<th>Titulaci&oacute;n</th>
<th>Tipo</th>
<? while ($registro = mysql_fetch_array($resultado1)) {?>
<tr>
<td><img src="../../../img/anadir1.jpg" alt="añadir fila"/><img src="../../../img/eliminar1.jpg" alt="borrar fila"/></td>
<td bgcolor="#FFFFCC"/><?php echo $registro['nombre']; ?></td>
<td bgcolor="#FFFF99"/><?php echo $registro['tipo']; ?></td>
</tr><?
}

y con el evento "onload", llamo a una función que prepara la tabla, de forma q cuando se haga onclick, se creen los input. Vale hasta ahi, funciona todo.
Mi tabla, como se puede ver está creada por 3 columnas:
--en la primera de ella, aparece las dos imagenes, una para añadir la fila y otra para borrar filas
--en la segunda columa a parece las titulaciones
--en la tercera aparece el tipo

Entonces, lo que quiero es que cuando se pinche en la imagen de "borrar fila", me borre esa fila de la BD. Para eso lo que quiero es que a partir de número de fila que se pulse, quiero sacar el nombre de la titulacion, y asi enviar el nombre de la titulacion a la BD, y borrarla.

Para eso tengo:

Cita:
function borrar(obj) {
tab = obj.parentNode.parentNode.parentNode;
var i = obj.parentNode.parentNode.rowIndex;
alert(i);
tab = document.getElementById('tabla');
filas =tab.getElementsByTagName('tr');
alert(filas.getElementsByTagName('td')[1].innerHTML);
}
donde la variable i me dice en que fila de la tabla he pulsado la imgen de "eliminar fila". Lo que estoy intentado hacer en el alert, es sacar el nombre de titulacion, es decir el nombre de la titulacion, que aparece en la posicion [i,segunda columna]
  #6 (permalink)  
Antiguo 02/04/2008, 16:11
 
Fecha de Ingreso: septiembre-2007
Mensajes: 234
Antigüedad: 17 años, 2 meses
Puntos: 1
Exclamación Re: Obtener valor columna con DOM

Hola? Alguien puede ayudarme....
  #7 (permalink)  
Antiguo 03/04/2008, 00:01
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Re: Obtener valor columna con DOM

Hola:

Si la imagen es hija directa del tag td, y quieres obtener el siguiente td, puedes referenciar al nextSibling...
<td>
<img onclick="borrar(this.parentNode.nextSibling.firstC hild.data)" >
</td>
<td>
Esto saldría en el alert
</td>

Puedes cambiar ese firstChild.data por innerHTML

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




La zona horaria es GMT -6. Ahora son las 18:26.