Foros del Web » Programando para Internet » Javascript »

capturando los valores de una celda

Estas en el tema de capturando los valores de una celda en el foro de Javascript en Foros del Web. Hola amigos, mi pregunta es la siguiente: resulta que yo hago una consulta a la base de datos mediante ajax y cada fila de la ...
  #1 (permalink)  
Antiguo 17/07/2013, 14:24
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 11 años, 4 meses
Puntos: 2
capturando los valores de una celda

Hola amigos, mi pregunta es la siguiente:
resulta que yo hago una consulta a la base de datos mediante ajax y cada fila de la consulta la imprimo mediante echo = '<table>'; y esta impresion la muestro en un div dentro de mi pagina index.html

cada una de las celdas de la tabla tienen la propiedad contenteditable='true'.

mi problema es que estoy tratando de capturar los valores de las celdas de la tabla de la siguiente forma mediante ajax


Código HTML:
Ver original
  1. function edit(cod) {
  2. var tr=document.getElementsByTagName("tr")[cod];
  3. var c= tr.getElementsByTagName("td")[0].innerHTML;
  4. alert (c);

pero no he podido seguramente porq la tabla la imprimo mediante echo..? como mas puedo capturar los valores de este tipo de tabla?? gracias de antemano a quien me pueda ayudar.
  #2 (permalink)  
Antiguo 18/07/2013, 03:06
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: capturando los valores de una celda

El hecho de haber impreso con echo no es importante si el resultado es html valido. Para javascript ese html lo podrias haber escrito a mano es lo mismo.

Código HTML:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <title>Documento sin t&iacute;tulo</title>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. <script language="JavaScript" type="text/JavaScript">
  5. function edit(cod) {
  6. var tr=document.getElementsByTagName("tr")[cod];
  7. var c= tr.getElementsByTagName("td")[0].innerHTML;
  8. alert (c);
  9. tr.getElementsByTagName("td")[0].innerHTML+=" Editado";
  10. }
  11.  
  12. </head>
  13.  
  14. <table border="1" cellspacing="0" cellpadding="0">
  15.   <tr>
  16.     <td>11</td>
  17.     <td>12</td>
  18.     <td>13</td>
  19.   </tr>
  20.   <tr>
  21.     <td>21</td>
  22.     <td>22</td>
  23.     <td>23</td>
  24.   </tr>
  25.   <tr>
  26.     <td>31</td>
  27.     <td>32</td>
  28.     <td>33</td>
  29.   </tr>
  30. <input name="" type="button" value="Edita la celda 31" onClick="edit(2)">
  31. </body>
  32. </html>

Como puedes ver tu función muestra la celda 31 (recuerda que los indices de las matrices empiezan por cero)
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 18/07/2013, 07:39
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: capturando los valores de una celda

bueno me falto un detalle, jeje cuando imprimo la tabla en el div, es porque esta es el resultado de una funcion ajax que previamente ejecute para mostrar todos los resultados de la consulta de la siguiente forma:

ajax.js

Código HTML:
Ver original
  1. //consulta datos de la tabla
  2. function buscar()
  3. {
  4.     ajax.open("POST", "busqueda.php", true);
  5.     ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  6.     ajax.onreadystatechange =function (){
  7. if (ajax.readyState==4)
  8.     {
  9.         document.getElementById('divresultado').innerHTML=ajax.responseText;
  10.        
  11.     }
  12. }      
  13.     url= "a="+a;   
  14.     ajax.send(url);
  15. }

donde en la linea de ajax.responseText;

muestra el codigo php que es algo asi:

busqueda.php

Código HTML:
Ver original
  1. $tabla=  '<table class="tablas" id="tabla1">';
  2. $tabla .= '<tr>';
  3. $tabla .= '<td>id</td>';
  4. $tabla .= '<td>nombre</td>';
  5. $tabla .= '<td></td>';
  6. $tabla .= '</tr>';
  7.     while ($row = mysql_fetch_assoc($res))
  8.     {  
  9.     $tabla .= '<tr>';
  10.     $tabla .=    '<td contenteditable="true">'.$fila['Cod'].'</td>';
  11.     $tabla .=    '<td contenteditable="true">'.$fila['Nombre'].'</td>';
  12.     $tabla .=    '<td><a href="javascript:edit('.$fila['Cod'].')">update</a></td>';
  13.     $tabla .= '</tr>';     
  14.     }
  15.    echo($tabla);

En serio, En serio, En serio Les agradeceria muchooo si me pueden ayudar ya me desespere jejej

Última edición por summerblack; 18/07/2013 a las 11:00

Etiquetas: ajax, celda, html
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 14:40.