copia y pega el último codigo y verás que eso es lo que hace, lo único que falta es validar que sean numero los que escribe.
Los cambios son, por si no los notaste:
Código:
function add_row(campo)
{
.... <input type="text" name="campo4" id="campo4" value="0" onChange="javascript:sumarImporte();"/><br>';
....
}
Código:
function sumarImporte() {
var total_importe = 0;
if (document.form2.campo4) {
if (document.form2.campo4.length) {
for (var i=0; i < document.form2.campo4.length; i++) {
total_importe += parseInt(document.form2.campo4[i].value,10); //Validar si es un numero primero
}
} else {
total_importe += parseInt(document.form2.campo4.value,10);
}
}
document.getElementById('fac_subtotal').value = total_importe;
}
Código:
....
...
subtotal:
<input type="text" name="fac_subtotal" id="fac_subtotal" readonly="true" />
....