Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.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和HTML代码中去掉文本框中的NaN?_Javascript_Html - Fatal编程技术网

如何在JavaScript和HTML代码中去掉文本框中的NaN?

如何在JavaScript和HTML代码中去掉文本框中的NaN?,javascript,html,Javascript,Html,我想做一个三角形斜边计算器。首先你放一条腿,然后放另一条腿,然后你会得到斜边。但是,如果您先填写第二个框,它会显示NaN。我知道这没那么重要,但有没有办法摆脱它,让它显示“0”,直到两个框都填满?代码如下: <html> <head> <script type="text/javascript"> function hypotenuse(a,b){ return Math.sqrt(a*a + b*b); } </script> </head

我想做一个三角形斜边计算器。首先你放一条腿,然后放另一条腿,然后你会得到斜边。但是,如果您先填写第二个框,它会显示NaN。我知道这没那么重要,但有没有办法摆脱它,让它显示“0”,直到两个框都填满?代码如下:

<html>
<head>
<script type="text/javascript">
function hypotenuse(a,b){
return Math.sqrt(a*a + b*b);
}
</script>
</head>
<body>
<input type="button" value="Hypoteneuse";" />
A:<input type="text" id="leg1" size="2";" />
B:<input type="text" id="leg2" size="2" onChange="document.getElementById('result').value=hypotenuse(parseInt(document.getElementById('leg1').value),parseInt(document.getElementById('leg2').value));" />
Hypotenuse:<input type="text" placeholder="0" id="result" size="2" />
</body>
</html>   

功能斜边(a,b){
返回Math.sqrt(a*a+b*b);
}
B:
斜边:

您可以在第一次输入时设置默认值:

<input type="text" id="leg1" size="2" value="0" />
您可以使用检查您的值是否存在:

<script type="text/javascript">
    function hypotenuse(a,b){
        if (isNaN(a) || isNaN(b)) {
            return 0;
        }

        return Math.sqrt(a*a + b*b);
    }
</script>

功能斜边(a,b){
if(isNaN(a)| | isNaN(b)){
返回0;
}
返回Math.sqrt(a*a+b*b);
}

您可以这样做:

Javascript:

function hypotenuse(){
    var angleA = document.getElementById['leg1'].val;
    var angleB = document.getElementById['leg2'].val;
    if(angleA != '' && angleB != ''){
        var angleC = Math.sqrt(a*a + b*b);
        document.getElementById['result'].val = angleC;
    }
}
你的HTML看起来像

A:<input type="text" id="leg1" size="2" onblur="hypotenuse()" />
B:<input type="text" id="leg2" size="2" onblur="hypotenuse()" />
Hypotenuse:<input type="text" placeholder="0" id="result" size="2" />
A:
B:
斜边:

为什么你问了三次同一个问题?可能重复肯定重复;)对不起,它坏了。你能告诉我整个事情在一起会是什么样子吗?非常感谢。什么不起作用?看看我贴的小提琴-
A:<input type="text" id="leg1" size="2" onblur="hypotenuse()" />
B:<input type="text" id="leg2" size="2" onblur="hypotenuse()" />
Hypotenuse:<input type="text" placeholder="0" id="result" size="2" />