因此,对于一个项目,我被指派制作一个链接到javascript文件的简单html页面。在此页面上有3个整数输入和2个按钮。按钮测试整数是否会形成三角形,第二个按钮将测试整数是否为正三角形。
现在我仍然遇到第一个按钮的问题。
我正在使用该算法:
A + B&以及c
一个+ c取代; b
B + C>一种
如果所有这些都是真的那么语句应该返回为“它形成一个三角形”,而else应该声明它不会返回一个三角形。
我认为我有逻辑和设置权,但是当我去测试时,所有条件都将返回true 任何帮助将非常感激。对不起,如果我的代码有点草率或没有意义,我还在学习。
再次感谢。
HTML文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Triangle Tester</title>
<script src="project3.js" type="text/javascript"></script>
</head>
<body>
<div>
<h1>Triangle Tester</h1>
<p>Please input the length (integer) of the first side of the triangle: </p>
<input id="t1" type="text" size="3" />
<p>Please input the length (integer) of the second side of the triangle: </p>
<input id="t2" type="text" size="3" />
<p>Please input the length (integer) of the third side of the triangle: </p>
<input id="t3" type="text" size="3" />
<br/>
<span id="answer"></span>
<br/>
<button onclick="compute1();">Can these three sizes form a triangle?</button>
<button onclick="compute2();">Can these three sizes form a right triangle?</button>
</div>
</body>
</html>
JavaScript文件:
// JavaScript Document
function compute1()
{
var in1 = document.getElementById("t1"); //A
var in2 = document.getElementById("t2"); //B
var in3 = document.getElementById("t3"); //C
var ans = document.getElementById("answer");
if( (in1.value+in2.value>in3.value)&&
(in1.value+in3.value>in2.value)&&
(in2.value+in3.value>in1.value) )
{
var result = "These three sides can form a triangle!";
ans.innerHTML = result;
}
else
{
var result2 = "These three sides cannot form a triangle!";
ans.innerHTML = result2;
}
}
function compute2()
{
return 0;
}
所以任何帮助都会受到赞赏。
答案 0 :(得分:0)
您需要将值解析为数字 - 目前所有输入都是文本,不能用于正确计算结果。假设您的算法正确,请使用:
var in1Val=parseInt(in1.value);
var in2Val=parseInt(in2.value);
var in3Val=parseInt(in3.value);
if( (in1Val+in2.value>in3Val)&&
(in1Val+in3Val>in2Val)&&
(in2Val+in3Val>in1Val) )...
如果存在输入值可能不是数字的风险,您可以使用parseFloat并检查是否返回NaN(如果存在基于非整数的输入)。希望这有助于Gavrif