Meine Form hat eine kleine Anzahl von Bereichen, in denen der Benutzer Werte wie diesesWarum funktionieren Onchange und Onblur nur manchmal?
<input name='extracost' type='text' size='25' id='extracost' value='$extracost' onChange='calculate();' >
Problem hinzufügen kann nur mit onBlur oder onChange ist, dass ‚scheinen‘ einmal zu arbeiten. Wenn das Element extracost mit 0 oder null beginnt, zum Beispiel, wenn ich es in der Form auf 50 ändere, scheint die Funktion korrekt zu funktionieren, und die Summe erhöht sich um 50. Aber wenn ich es auf 0 zurückstelle, tut es nichts. Wenn ich es wieder auf -50 stelle, wird es später funktionieren.
Wenn ich die extracost auf 50 gesetzt, dann 60, dann 70, geht die insgesamt bis von 180
Hier ist der relevante Javascript
var subtotal = document.getElementById("subtotal").value;
var extracost = document.getElementById("extracost").value;
var total = Number(subtotal) + Number(extracost);
document.getElementById("total").value = total;
ich viele Threads gelesen habe hier mit ein ähnliches Problem, aber keine der Lösungen hat funktioniert.
onChange = 'calculate();' kann ersetzt werden onBlur = 'calculate();' ohne Erfolg. onmouseup löst das Problem auch nicht –