Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript计算返回NaN,仅插入前2个和_Javascript_Html - Fatal编程技术网

Javascript计算返回NaN,仅插入前2个和

Javascript计算返回NaN,仅插入前2个和,javascript,html,Javascript,Html,这是html function kanded_arvutus() { var deebet1 = document.getElementById("deebet1").value; var kreedit1 = document.getElementById("kreedit1").value; var deebet2 = document.getElementById("deebet2").value; var kreedit2 = document.getElement

这是html

function kanded_arvutus() 
  {
  var deebet1 = document.getElementById("deebet1").value;
  var kreedit1 = document.getElementById("kreedit1").value;
  var deebet2 = document.getElementById("deebet2").value;
  var kreedit2 = document.getElementById("kreedit2").value;


  var kokku_deebet = parseFloat(deebet1)+parseFloat(deebet2);
  document.getElementById("kokku_deebet").value = kokku_deebet.toFixed(2);   
  var kokku_kreedit = parseFloat(kreedit1)+parseFloat(kreedit2);
  document.getElementById("kokku_kreedit").value = kokku_kreedit.toFixed(2);     
  }

如果我只插入kreedit1和deebet1值,那么jquery返回NAN,但是如果我也插入deebet2和kreedit2,那么工作正常

也许有人会看到,这里怎么了


提前感谢您,aimar。

您正在从输入值中读取一个空字符串,并试图将其解析为一个数字。这就是为什么它是南。您需要检查它是否为空(如果为空,则设置默认值,可能为0)


等等

在添加之前,请检查变量是否不为空或未定义如下:

if(deebet1 != "") {

}
正如John所建议的,您可以使用下面的方法,检查变量是否有任何实际值

if (typeof(deebet1) != 'undefined' && deebet1 != null && typeof(deebet2) != 'undefined' && deebet2 != null)
{
    var kokku_deebet = parseFloat(deebet1)+parseFloat(deebet2);
    document.getElementById("kokku_deebet").value = kokku_deebet.toFixed(2);
}

if (typeof(kreedit1) != 'undefined' && kreedit1 != null && typeof(kreedit2) != 'undefined' && deebet2 != null)
{
    var kokku_deebet = parseFloat(kreedit1)+parseFloat(kreedit2);
    document.getElementById("kokku_kreedit").value = kokku_deebet.toFixed(2);
}

你能给我们看一下呈现的html吗?那是因为
parseFloat(“”
返回
NaN
,而
NaN+anything
仍然是
NaN
。仅供参考,这与jQuery无关。这是纯JavaScript。当输入值中只有0时,这可以吗?或者最好按你的方式做?我认为这是你的决定,但在加法之前检查它是否有值总是好的。前提是您将使用reg exp或某种验证只接受十进制或数字值。
if (typeof(deebet1) != 'undefined' && deebet1 != null && typeof(deebet2) != 'undefined' && deebet2 != null)
{
    var kokku_deebet = parseFloat(deebet1)+parseFloat(deebet2);
    document.getElementById("kokku_deebet").value = kokku_deebet.toFixed(2);
}

if (typeof(kreedit1) != 'undefined' && kreedit1 != null && typeof(kreedit2) != 'undefined' && deebet2 != null)
{
    var kokku_deebet = parseFloat(kreedit1)+parseFloat(kreedit2);
    document.getElementById("kokku_kreedit").value = kokku_deebet.toFixed(2);
}
if (deebet1 && deebet2)
    {
        var kokku_deebet = parseFloat(deebet1)+parseFloat(deebet2);
        document.getElementById("kokku_deebet").value = kokku_deebet.toFixed(2);
    }

    if (kreedit1 && kreedit2)
    {
        var kokku_deebet = parseFloat(kreedit1)+parseFloat(kreedit2);
        document.getElementById("kokku_kreedit").value = kokku_deebet.toFixed(2);
    }