javascript和html逻辑语句

javascript和html逻辑语句,javascript,html,logic,Javascript,Html,Logic,因此,对于一个项目,我被指派制作一个链接到javascript文件的简单html页面。此页面上有3个整数输入和2个按钮。按钮测试整数是否构成三角形,第二个按钮测试整数是否构成直角三角形 现在我仍然有第一个按钮的问题。 我正在使用算法: a+b>c a+c>b b+c>a 如果所有这些都是真的,那么语句应该以“它形成一个三角形”的形式返回,而else应该声明它不会返回三角形 我认为我有正确的逻辑和设置,但当我去测试时,所有条件都将返回true。 任何帮助都将不胜感激。很抱歉,如果我的代码有点马虎或

因此,对于一个项目,我被指派制作一个链接到javascript文件的简单html页面。此页面上有3个整数输入和2个按钮。按钮测试整数是否构成三角形,第二个按钮测试整数是否构成直角三角形

现在我仍然有第一个按钮的问题。 我正在使用算法:
a+b>c
a+c>b
b+c>a

如果所有这些都是真的,那么语句应该以“它形成一个三角形”的形式返回,而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>

因此,非常感谢您的帮助。

您需要将值解析为数字-目前所有输入都是文本,无法用于正确计算结果。假设您的算法正确,请使用:

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

您需要将值解析为数字-目前所有输入都是文本,无法用于正确计算结果。假设您的算法正确,请使用:

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

如果a、b和c都是相同的整数,那会不会形成一个三角形?无论如何,输入的值总是一个字符串,所以当你做
“2”+“3”
时,你得到的是
“23”
而不是
5
,就像你期望的那样,你从各个变量中得到了什么值,你能调试/提醒并检查吗?你推荐什么IDE来调试js?我一直在使用dreamweaver,但它没有很多开发工具。如果a、b和c都是同一个整数,那不是形成了一个三角形吗?无论如何,输入的值总是一个字符串,所以当你执行
“2”+“3”
时,你会得到
“23”
而不是
5
就像你期望的那样,你能从各个变量中得到什么值,你能调试/提醒并检查吗?你推荐调试js的IDE吗?我一直在使用dreamweaver,但它没有太多的开发工具。这工作得非常好!没有意识到输入都是字符串,立即修复。这非常有效!不知道输入的都是字符串,立即修复。