Foros del Web » Programando para Internet » Javascript »

Leer campo dinamico con Javascript

Estas en el tema de Leer campo dinamico con Javascript en el foro de Javascript en Foros del Web. Buenas a tod@s, Estoy desarrollando un entorno para consultar,insertar,modificar etc.... una BD. Tengo un problema que no consigo resolver , explico: Tengo la pagina con ...
  #1 (permalink)  
Antiguo 27/01/2010, 04:29
 
Fecha de Ingreso: enero-2010
Mensajes: 6
Antigüedad: 14 años, 2 meses
Puntos: 0
Leer campo dinamico con Javascript

Buenas a tod@s,

Estoy desarrollando un entorno para consultar,insertar,modificar etc.... una BD. Tengo un problema que no consigo resolver , explico:


Tengo la pagina con la siguiente estructura, en la que muestro información de la BD


<form>
<table>
<tr>
<td id="1"><span>...INFO...</span></td>
</tr><tr>
<td id="2"><span>...INFO...</span></td>
</tr>
.
.
.
</table>
</form>


Cuando el usuario quiere modificar los campos clica sobre un boton y automaticamente cambio el codigo de dentro de los <td> con javascript e introduzco lo siguiente:

$('id').innerHTML='<input type="text" name="name" id="id" value="INFO"/>';

Hasta aqui sin problema....el problema viene cuando una vez modificados los campos de los <inputs>,quiero capturar los elementos del form mediante javascript y no los encuentro....no se si me explicado bien


En resumen...cuando hago un cambio mediante javascript en el FORM introduciendo elementos (input,textarea etc.....)cuando quiero leerlos javascript no me los encuebtra
  #2 (permalink)  
Antiguo 27/01/2010, 05:25
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: Leer campo dinamico con Javascript

hola nacho,

dentro del td no puedes hacer un innerHTML porque sino te pasa lo que te está pasando; no encuentra ese id. prueba así:
----------------------------------
function creaInput()
{
var td = document.getElementById("td1");
var nuevoInput = document.createElement("input");
nuevoInput.setAttribute("type","text");
nuevoInput.id = "nuevoID";
nuevoInput.value = "soy nuevo";
td.appendChild(nuevoInput);
}
function mostrarValor()
{
try
{alert(document.getElementById('nuevoID').value);}
catch(e)
{alert('aún no está definido el nuevo input');}
}
---------------------------------------
así creamos un elemento dentro del td. pon un par de botones, uno para la función creaInput y otro para mostrarValor. esta segunda función es para que compruebes que si que puede cazar el id del nuevo elemento (si le das antes de crearlo no lo encuentra y te muestra un mensaje diciéndotelo).

si tienes dudas me cuentas.

salu2
  #3 (permalink)  
Antiguo 27/01/2010, 10:22
 
Fecha de Ingreso: enero-2010
Mensajes: 6
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Leer campo dinamico con Javascript

Hola ceSharp,

Ha funcionado perfectamente así que muchas gracias. Me voy a dejar de tonterias de innerHTML y me voy a pasar al DOM aunque sea un "pelin" más engorroso. Uno siempre quiere tirar por en camino ràpido y nunca resulta el mejor......

Muchas gracias

Etiquetas: dinamico, 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 17:00.