Mein Ziel ist es keine NaN Ausgabe zuzulassen
Über ein Formular hole ich die Daten und überprüfe ob es eine Zahl ist.
Es funktioniert, das vorab. Aber ist es auch so richtig?
<form name="formular" action="">
<input type="text" name="input1" class="form-control" placeholder="0" onkeyup="calculate()"/>
<input type="text" name="input2" class="form-control" placeholder="0" onkeyup="calculate()"/>
<input type="text" name="input3" class="form-control" placeholder="0" onkeyup="calculate()"/>
<span class="form-control" id="output">000</span>
</form>
und hier rechne ich es aus:
function calculate() {
input1 = parseFloat( document.formular.input1.value.replace(/,/ , ".") );
input2 = parseFloat( document.formular.input2.value.replace(/,/ , ".") );
input3 = parseFloat( document.formular.input3.value.replace(/,/ , ".") );
if (typeof(input1)=="number" && input1+""=="NaN") { var input1 =0; }
if (typeof(input2)=="number" && input2+""=="NaN") { var input2 =0; }
if (typeof(input3)=="number" && input3+""=="NaN") { var input3 =0; }
document.getElementById("output").innerHTML= (input1 + input2 + input3).toString().replace(/\./ , ",");
}
Eure Sana (fromVienna)