Met onderstaande code lukt het om de totaalwaarde van de 3 tekstvelden weer te geven in het input_tot veld. Als ik de tekstvelden niet handmatig invul maar indirect d.m.v een js-functie (via een select bijvoorbeeld) dan wordt het totaal niet meer weergegeven. Hoe moet ik de subtotaal_OD functie aanpassen om dit wel voor elkaar te krijgen?
<script type="text/javascript">
function subtotaal_OD()
{
var prijs_1 = parseInt(document.getElementById('input_1').value)||0;
var prijs_2 = parseInt(document.getElementById('input_2').value)||0;
var prijs_3 = parseInt(document.getElementById('input_3').value)||0;
var prijs_totaal = prijs_1+prijs_2+prijs_3;
document.getElementById('input_tot').value = prijs_totaal;
}
</script>
</head>
<body>
<form id="testje">
<input
type = "text"
class = ""
name = "input_1"
value = ""
id = "input_1"
onKeyUp="subtotaal_OD();"
/>
<br/><br/>
<input
type = "text"
class = ""
name = "input_2"
value = ""
id = "input_2"
onKeyUp="subtotaal_OD();"
/>
<br/><br/>
<input
type = "text"
class = ""
name = "input_3"
value = ""
id = "input_3"
onKeyUp="subtotaal_OD();"
/>
<br/><br/>
<input
type = "text"
class = ""
name = "input_tot"
value = ""
id = "input_tot"
readonly
/>
</form>
Het probleem ligt niet in je 'subtotaal_OD' functie, maar de aanroep hiervan. Met de onKeyUp roep je deze functie aan. als je met javascript een waarde bewerkt, dan is er geen sprake van 'keyup' en wordt de functie dus ook niet aangeroepen.
Ik dacht dat dit met 'onchange' wel zou moeten lukken, maar na kort uitproberen bleek dit niet te werken. Het enige wat ik dan kan bedenken is dat je simpelweg 'subtotaal_OD' aanroept nadat je de waarde in je veld hebt bewerkt.