JavaScript - Problema con getElementsByName

   
Vista:

Problema con getElementsByName

Publicado por Raquel (1 intervención) el 04/09/2009 13:36:18
Buenos Días

Tengo un problema a ver si alguien me puede ayudar, la función javascript getElementsByName no me funciona cuando los elementos se han creado de forma dinamica con appendChild

Os paso un ejemplo a ver si me podeis ayudar...
<script type="text/javascript">
num=0;
function contar()
{
var elementos = document.getElementsByName('fil');
alert("Hay " + elementos.length + " elementos '");
}


function crear(obj) {
num++;
fi = document.getElementById('miformulario'); // 1
contenedor = document.createElement('div'); // 2
contenedor.id = 'div'+num; // 3
fi.appendChild(contenedor); // 4

ele = document.createElement('input'); // 5
ele.type = 'text'; // 6
ele.name = 'fil'; // 6
ele.id = 'fil'+num; // 6
ele.value = 'Hola Mundo';
fi.appendChild(ele); // 7

}

</script>

<form id="miformulario" action="#">

<button onClick="contar();"/>Contar Inputs</button>

<fieldset id="fiel">
<input type="button" value="Crear" onclick="crear(this)" />
</fieldset>

</form>

El alert de la funcion contar me devuelven siempre 0
El primero 0

Una ayudita por favor...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con getElementsByName

Publicado por kikeking1 (2 intervenciones) el 30/10/2009 17:49:00
Es getElementsByTagName y no getElementsByName como tienes tu, te falta "Tag" ante de name ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con getElementsByName

Publicado por kikeking1 (2 intervenciones) el 30/10/2009 18:09:14
haber haber me explico mejor que respondi muy rapido.

Olvida lo que dije antes, estaba con algo parecido i me hice la picha un lio, el mensaje anterior ni caso...

haber lo que te esta pasando es lo siguiente:

to funcion esta divina y funciona a la perfeccion el problema se encuentra en lo siguiente

algunos navegadores no aplican bien en la generacion dinamica la propiedad
de esta forma


ele.name = 'fil';

añadele tambien (las dos forma asi evitas problemas de compatibilidades aunque sea algo mas denso el codigo)

ele.setAttribute('name','fil');
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar