Por lo que veo el parámetro que pasas a tu función solo lo usas para buscar el índice de los controles ... Ahora lo que te está ocurriendo es completamente lógico ... ya que a diferencia de lo que uno espera ... los controles HTML no se indexan de ésa manera de hecho lo que te está ocurriendo es que se está creando un array de controles text con el nombre
txtimpuestoArticulo[], por lo tanto para acceder a cada elemento lo que tendrías que hacer es:
Y en tu script
calcularImpuestos algo así:
Código:
function calcularImpuesto( i )
{
var precioarticulo2,impuesto;
precioarticulo2 = parseFloat( document.forms[ 'formRegistroComprobante' ][ 'txtprecioArticulo[]' ][ i ].value );
alert( "Valor de " + document.forms[ 'formRegistroComprobante' ][ 'txtprecioArticulo[]' ][ i ].value );
impuesto = precioarticulo2 / 1.19;
document.forms[ 'formRegistroComprobante' ][ 'txtimpuestoArticulo[]' ][ i ].value = impuesto;
}
Con eso debería de funcionar, sin embargo, te recomiendo que uses ID's en tus controles ... es más estándar y fácil el llamado ... chécate el método
document.getElementById() .... hay toneladas de información en internet ...
Suerte