Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Acceder a texto de <input> con DOM

Estas en el tema de Acceder a texto de <input> con DOM en el foro de Javascript en Foros del Web. Hola a todos, tengo el siguiente código: <div id="Linea x" ..... > <div id="td-1> <input id="midato-1" .... onclick=funcion > </div> <div id="td-2> <input id="midato2" .... ...
  #1 (permalink)  
Antiguo 01/03/2016, 14:59
 
Fecha de Ingreso: abril-2010
Mensajes: 68
Antigüedad: 14 años
Puntos: 0
Acceder a texto de <input> con DOM

Hola a todos, tengo el siguiente código:

<div id="Linea x" ..... >
<div id="td-1>
<input id="midato-1" .... onclick=funcion >
</div>
<div id="td-2>
<input id="midato2" .... onclick=funcion >
</div>
.......
<div id="td-n>
<input id="midato-n" .... onclick=funcion >
</div>
</div>
.....

function () {
var c = this.parentElement.parentElement.childNodes;
var i;
for (i = 0; i < c.length; i++) {
c[i].style.backgroundcolor = 'red';
c[i].style.color = 'red'; }
}

pero no hace nada, poniendole un alert() para ver el valor del childnode el valor que me da es "undefined" parece que no estoy muy "afilado" en el DOM. Me ayudan ?
Gracias

Última edición por Pelydas; 01/03/2016 a las 15:18 Razón: me he equivocado
  #2 (permalink)  
Antiguo 02/03/2016, 03:27
Avatar de Pantera80  
Fecha de Ingreso: noviembre-2014
Ubicación: España
Mensajes: 35
Antigüedad: 9 años, 5 meses
Puntos: 6
Respuesta: Acceder a texto de <input> con DOM

Buenas.

Si tenemos un HTML de este estilo:

Código:
<div id="contenedor">
	<div>
		<input></input>
	</div>
	<div>
		<input></input>
	</div>
...
</div>
Si en javascript cogemos esta variable:

Código:
var inicio = document.getElementById("contenedor").childNodes;
No obtenemos directamente un grupo de DIVS, sino que sale algo como esto si
ponemos en la consola console.log(inicio):

Código:
[text, div, text, div, text, div, text, div, text, div, text, div, text, div, text]
Por tanto, para acceder a los DIVS debemos saltarnos los nodos de texto :

Código:
inicio = document.getElementById("contenedor").childNodes;
for(var i=0; i<inicio.length; i++){
	if(i%2==0){
		inicio[i+1].childNodes[1].value = 'hola';
		inicio[i+1].childNodes[1].style.color='red';
	}
Un saludo
  #3 (permalink)  
Antiguo 02/03/2016, 08:30
 
Fecha de Ingreso: abril-2010
Mensajes: 68
Antigüedad: 14 años
Puntos: 0
Respuesta: Acceder a texto de <input> con DOM

Gracias Pantera80 me funcionó perfecto con un par de lineas adicionales para mi caso concreto.

Etiquetas: dom, input, valor
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 01:26.