如何在JavaScript和HTML代码中去掉文本框中的NaN?
我想做一个三角形斜边计算器。首先你放一条腿,然后放另一条腿,然后你会得到斜边。但是,如果您先填写第二个框,它会显示NaN。我知道这没那么重要,但有没有办法摆脱它,让它显示“0”,直到两个框都填满?代码如下:如何在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
<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" />