[英]How do i get rid of the NaN in the text box in my JavaScript and HTML code?
[英]How do I change the NaN in my code to “0”, or, “Working…”
因此,我正在制作一个缺少的三角腿计算器。 我唯一的问题是,当我填入一个框时会显示NaN。 真烦人 那么有没有办法我可以将NaN更改为其他内容? 这是我的代码:
<html>
<head>
<script type="text/javascript">
function missingleg(a,c){
return Math.sqrt(c*c - a*a);
}
</script>
</head>
<body>
<input type="button" value="Missing Leg";" />
Leg :<input type="text" id="leg" size="2" onChange="document.getElementById('lostleg').value=missingleg(parseInt(document.getElementById('leg').value),parseInt(document.getElementById('hypo').value));" />
Hypotenuse:<input type="text" id="hypo" size="2" onChange="document.getElementById('lostleg').value=missingleg(parseInt(document.getElementById('leg').value),parseInt(document.getElementById('hypo').value)); " />
Missing Leg:<input type="text" placeholder="0" id="lostleg" size="2" />
</body>
</html>
如果您输入的不是数字,则MDN isNaN()
会通知您。
function missingleg(a,c){
if (isNaN(a) || isNaN(c)) {
return "What you want to return";
} else {
return Math.sqrt(c*c - a*a);
}
}
发生这种情况是因为您的输入没有初始值,所以在您输入第一个值之后,该值的更改会触发您的代码。 您的代码正在获取输入#2的值,但其中没有任何值。
改为这样做:
<html>
<head>
<script type="text/javascript">
function missingleg(){
var leg=parseInt(document.getElementById('leg').value);
var hypo=parseInt(document.getElementById('hypo').value);
var val=Math.sqrt(hypo*hypo-leg*leg);
if(isNaN(val)){
alert('One of the values you entered is not a valid number');
}
else{
document.getElementById('lostleg').value=val;
}
}
</script>
</head>
<body>
<input type="button" value="Missing Leg" onclick="missingleg()" />
Leg :<input type="text" id="leg" size="2" />
Hypotenuse:<input type="text" id="hypo" size="2" />
Missing Leg:<input type="text" placeholder="0" id="lostleg" size="2" />
</body>
</html>
当您单击缺少的腿按钮时,它将计算值;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.