Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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 要知道三角形是否成直角,数学计算很好,但可以';似乎无法从输入中获取值_Javascript_Html - Fatal编程技术网

Javascript 要知道三角形是否成直角,数学计算很好,但可以';似乎无法从输入中获取值

Javascript 要知道三角形是否成直角,数学计算很好,但可以';似乎无法从输入中获取值,javascript,html,Javascript,Html,我尝试用parseInt将值更改为整数,但它仍然不起作用,每当我运行它时,它总是说NaN 我尝试直接将变量a1、b1和c1更改为number(例如,写入a1=3),然后效果很好。我还是个新手,不知道该怎么办 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initi

我尝试用
parseInt
将值更改为整数,但它仍然不起作用,每当我运行它时,它总是说
NaN

我尝试直接将变量
a1
b1
c1
更改为
number
(例如,写入
a1=3
),然后效果很好。我还是个新手,不知道该怎么办

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>document</title>
<link rel="stylesheet" href="style1.css">
</head>
<body> 
<h1> Find c or know if it's a right-angle triangle?</h1>
<div id="isIt">
   <h5>Please enter the lengths of each side.</h5>
//input area where you enter the sides of the triangle
<input id="a" type="number" min="0.1" placeholder="a">
<input id="b" type="number" min="0.1" placeholder="b">
<input id="c" type="number" min="0.1" placeholder="c"> 
<br>
<button onclick="isIt()">is it a Triangle?</button>
<button onclick="findc()">What is c?</button>
</div>
<p id="answer"></p>
 <script>
 //where my problem is
 var a1 = (document.getElementById('a').value;
 var b1 = document.getElementById('b').value;
 var c1 = document.getElementById('c').value;
 var m = Math.sqrt( a1*a1 + b1*b1);

 //function to know if its a triangle
 function isIt() {
    if (c1 === m) {
    document.getElementById('answer').innerHTML = 'YES!';
    }else{
    var trueC0 =  Math.sqrt((a*a) + (b*b));
    var trueC2 = trueC0.toString();
    document.getElementById('answer').innerHTML = "NO! c needs to be " + trueC2 + " too be a 
    right-angle triangle";

}
}
//function to calculate c
function findc() {

var c = Math.sqrt( a*a + b*b);
document.getElementById('answer').innerHTML = c.toString() ;
}
</script>   
</body>
</html>

文件
找到c或者知道它是不是直角三角形?
请输入每边的长度。
//输入三角形边的区域

是三角形吗? 什么是c?

//我的问题在哪里 var a1=(document.getElementById('a').value; var b1=document.getElementById('b')。值; var c1=document.getElementById('c')。值; var m=数学sqrt(a1*a1+b1*b1); //函数来知道它是否是三角形 函数isIt(){ 如果(c1==m){ document.getElementById('answer').innerHTML='YES!'; }否则{ var trueC0=Math.sqrt((a*a)+(b*b)); var trueC2=trueC0.toString(); document.getElementById('answer')。innerHTML=“否!c也必须是”+trueC2+”作为 直角三角形”; } } //函数来计算c 函数findc(){ var c=数学sqrt(a*a+b*b); document.getElementById('answer').innerHTML=c.toString(); }
此代码存在一些问题。首先,您在
isIt
函数外声明了var
a1 b1 c1
m
。因此,这些变量仅在加载代码时创建和初始化,而不是在每次调用
isIt
时创建和初始化。这意味着,当您调用
isIt
时,这些变量是无效的不使用输入上的新值进行更新,并且使用页面加载上的任何值进行计算。第二个是这里
var trueC0=Math.sqrt((a*a)+(b*b))
和这里
var c=Math.sqrt(a*a+b*b);
您使用的是不存在的var
a
b
。这就是它返回
Nan
的原因。我相信它们应该是
a1
b1
。下面是工作代码:


//函数来知道它是否是三角形
函数isIt(){
var a1=document.getElementById('a')。值;
var b1=document.getElementById('b')。值;
var c1=document.getElementById('c')。值;
var m=数学sqrt(a1*a1+b1*b1);
如果(c1==m){
document.getElementById('answer').innerHTML='YES!';
}否则{
var trueC0=Math.sqrt((a1*a1)+(b1*b1));
var trueC2=trueC0.toString();
document.getElementById('answer').innerHTML=“否!c也必须是“+trueC2+”直角三角形”;
}
}
//函数来计算c
函数findc(){
var a1=document.getElementById('a')。值;
var b1=document.getElementById('b')。值;
var c1=document.getElementById('c')。值;
var m=数学sqrt(a1*a1+b1*b1);
变量c=数学sqrt(a1*a1+b1*b1);
document.getElementById('answer').innerHTML=c.toString();
}

文件
找到c或者知道它是不是直角三角形?
请输入每边的长度。
//输入三角形边的区域

是三角形吗? 什么是c?

//我的问题在哪里 //函数来知道它是否是三角形 函数isIt(){ var a1=document.getElementById('a')。值; var b1=document.getElementById('b')。值; var c1=document.getElementById('c')。值; var m=数学sqrt(a1*a1+b1*b1); 如果(c1==m){ document.getElementById('answer').innerHTML='YES!'; }否则{ document.getElementById('answer').innerHTML=“否!c也必须是“+m+”并且是直角三角形” } } //函数来计算c 函数findc(){ var a1=document.getElementById('a')。值; var b1=document.getElementById('b')。值; 变量c=数学sqrt(a1*a1+b1*b1); document.getElementById('answer').innerHTML=c; }
我编辑了你的标题,以便更多地解释你真正想要实现的目标。我还编辑了文本,因为其中包含了很多你不需要的东西,或者你想要解释的东西不清楚。我希望这有助于更好地理解你的问题。