Foros del Web » Programando para Internet » Javascript »

Localizar campo texto en fila de tabla

Estas en el tema de Localizar campo texto en fila de tabla en el foro de Javascript en Foros del Web. Hola: Tengo una tabla con 5 columnas y cantidad de filas variables, en cada celda tengo un campo de texto, y la última columna de ...
  #1 (permalink)  
Antiguo 09/08/2011, 19:18
 
Fecha de Ingreso: enero-2003
Mensajes: 120
Antigüedad: 21 años, 3 meses
Puntos: 0
Pregunta Localizar campo texto en fila de tabla

Hola:
Tengo una tabla con 5 columnas y cantidad de filas variables, en cada celda tengo un campo de texto, y la última columna de la derecha tengo un check para marcar e indicar la fila. En este caso busco blanquear el contenido de todos los campos de texto que están en la fila del check que presionó. Puede ser un botón en vez del check la idea es limpiar la fila completa con un click. value="" a los campos de texto.

Estos campos de texto podrían ser array

<td><input type="text" name="campo1[]" ...></td>
<td><input type="text" name="campo2[]" ...></td>
..............................

Muchas gracias compañeros.

Saludos.
__________________
Sergio.
  #2 (permalink)  
Antiguo 09/08/2011, 22:03
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 10 meses
Puntos: 63
Respuesta: Localizar campo texto en fila de tabla

Supongo el problema radica en que todos los inputs permenecen a un mismo form, de no ser así la solución seria mucho más sencilla de la que voy a proponer.

Código HTML:
<table>
     <form method="post" action="procesa.php">
     <tr><td><input type="text" size="10" /></td><td><input type="text" size="10" /></td><td><input type="text" size="10" /></td><td><input type="text" size="10" /></td><td><input type="button" value="Limpiar fila" onclick="limpiar(this)"></td></tr>
     <tr><td><input type="text" size="10" /></td><td><input type="text" size="10" /></td><td><input type="text" size="10" /></td><td><input type="text" size="10" /></td><td><input type="button" value="Limpiar fila" onclick="limpiar(this)"></td></tr>
     <tr><td><input type="text" size="10" /></td><td><input type="text" size="10" /></td><td><input type="text" size="10" /></td><td><input type="text" size="10" /></td><td><input type="button" value="Limpiar fila" onclick="limpiar(this)"></td></tr>
     <tr><td><input type="text" size="10" /></td><td><input type="text" size="10" /></td><td><input type="text" size="10" /></td><td><input type="text" size="10" /></td><td><input type="button" value="Limpiar fila" onclick="limpiar(this)"></td></tr>
     </form>
</table> 
Según entiendo este el esquema que presentas, una tabla con 5 columnas y un numero indeterminado de filas (en mi caso son 4), pues bien para limpiar cada fila paso como parámetro la referencia del botón que desencadena el evento.

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function limpiar(cmd){
  3.     var tr = cmd.parentNode.parentNode;
  4.     var hijos = tr.childNodes;
  5.     for(var i=0; i<hijos.length-1; i++) {
  6.         hijos.item(i).getElementsByTagName("input").item(0).value = "";
  7.     }
  8. }
  9. </script>

La función limpiar encuentra al tr, es decir la fila, que en este caso es el padre del padre del botón, luego se extraen todos sus hijos y se recorren dentro del for (excepto el ultimo que es el propio botón) , luego a cada hijo (los td) se le extrae el primer elemento tipo input y se le asigna el value = "".

Espero que sea lo estas buscando, como te mencione si cada columna puede pertenecer a un form, solo bastaría con hacer un botón de tipo reset y ya.
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.
  #3 (permalink)  
Antiguo 10/08/2011, 05:36
 
Fecha de Ingreso: enero-2003
Mensajes: 120
Antigüedad: 21 años, 3 meses
Puntos: 0
Respuesta: Localizar campo texto en fila de tabla

Gracias por responder es exáctamente lo que andaba buscando muchísimas gracias, sos un maestro. Si me permites te regalo una sesión de música retro que hice para devolverte el favor.

http://www.mediafire.com/?​8q6x7815u5scz4w

Saludos.

Sergio.
__________________
Sergio.
  #4 (permalink)  
Antiguo 10/08/2011, 08:56
 
Fecha de Ingreso: enero-2003
Mensajes: 120
Antigüedad: 21 años, 3 meses
Puntos: 0
Respuesta: Localizar campo texto en fila de tabla

Pero hay un pequeño inconveniente no anda en Chrome ni Firefox.

Saludos.
__________________
Sergio.
  #5 (permalink)  
Antiguo 10/08/2011, 09:31
 
Fecha de Ingreso: enero-2003
Mensajes: 120
Antigüedad: 21 años, 3 meses
Puntos: 0
Respuesta: Localizar campo texto en fila de tabla

Perdón si si anda en los otros navegadores... mi adaptación no anda en los otros
__________________
Sergio.
  #6 (permalink)  
Antiguo 10/08/2011, 13:47
 
Fecha de Ingreso: enero-2003
Mensajes: 120
Antigüedad: 21 años, 3 meses
Puntos: 0
Respuesta: Localizar campo texto en fila de tabla

El problema está en que integrada en mi sistema, como tengo mas de una tabla puede ser que la rutina javascript tome valores erróneos?
Por ejemplo en IE el valor de hijos.length es de 6 pero en otros navegadores de 13, y debe estar desfasado por eso limpia algo que no está. Lo que creo que debería hacer es en la rutina javascript apuntarle a la tabla en algun lado con su ID para que cuente en esa, puesto que tengo mas de una.
Donde puedo referenciar la tabla?

Muchas Gracias !
__________________
Sergio.
  #7 (permalink)  
Antiguo 11/08/2011, 08:12
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 10 meses
Puntos: 63
Respuesta: Localizar campo texto en fila de tabla

Según entiendo, el problema radica en que se estan contando como hijos los espacios o saltos de linea, trata de eliminarlos haber si de esa forma si funciona.
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.

Última edición por laratik; 11/08/2011 a las 08:30

Etiquetas: fila, localizar, tabla, campos
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 09:48.