Hola después de googlear e invertir demasiado tiempo en esto acudo a ustedes por si alguien me echa un cable, el siguiente fragmento de código funciona en todos los navegadores excepto el IE !
El código lo que hace es obtener un arreglo de todos los input con determinado nombre, recorrer el mismo comprobando q el value sea mayor que 0 y si es así obtener value y nombre de otro input cuyo id esta formado por el id del elemento del arreglo mas la cadena _PDIA, como decía, funciona en todos los navegadores menos en el IE que indica el error en la línea " preciod = (document.getElementById(preciodia)).name;" si ha alguien se le ocurre algo ?
Gracias de antemano.
Saludos
<script type="text/javascript">
function test(a)
{
var str = a.substring(0,(a.length - 6));
miArray = document.getElementsByName(str);
var total = 0;
var totalc = 0;
for (j = 0; j < miArray.length; j++)
{
var udades = miArray[j].value;
if( udades != '')
{
var preciodia = miArray[j].id + '_PDIA' ;
preciod = (document.getElementById(preciodia)).name; //Aqui indica el error
unidadesd = (document.getElementById(preciodia)).value;
if(unidadesd != '')
{
total = total + (preciod * unidadesd);
}
}
total = total * udades;
totalc = totalc + total;
total = 0;
}
var final = str + '_total'
document.getElementById(final).value = totalc;
}
</script>