为什么负整数没有在我的文本框中注册



从早上开始,我就一直在努力找出我的代码出了什么问题。我试着在这里查找问题,但找不到任何帮助。我使用这段代码的目标是创建一个循环,列出在文本字段中为所有大于0的数字输入的所有整数(即,如果输入7,则会出现01234567(,我能够计算出这些整数。然而,我的第二个目标是,如果出现负数(如-1(,则会出现一条文本,上面写着";没有输入有效的数字,不能求和负数"问题是,如果我输入一个负数,什么都不会发生。我认为问题在于"if(test1<0(",因为如果我将0改为3这样的正数,文本就会出现。

任何帮助都将不胜感激,谢谢大家!

<html>
<body>
<h2></h2>

<form action="">
<input type="text" name="test1" id=t1><br>
<input type="button" value="Enter Number" onclick="EnterNumber()">
</form>
<p id="result"></p>
<script>
function EnterNumber() {
var test1 = document.getElementById("t1").value;
var text = "";
var i;

for (i = 0; i <= test1; i++) {
if (test1 < 0){
document.write("No valid number was enterned, no negatives can be sumbitted.");
break;
}

text += i + "<br>";
}


document.getElementById("result").innerHTML = text;
}
</script>
</body>
</html>

如果test1小于零,循环将永远不会运行,因此不会发生否定检查。

在循环之前进行检查。

试试这个代码:

<script>
function EnterNumber() {
var test1 = document.getElementById("t1").value;
var text = "";
var i;
if (test1 < 0){
text = "No valid number was entered, no negatives can be submitted."
//document.write("No valid number was entered, no negatives can be submitted.");
}
for (i = 0; i <= test1; i++) {
text += i + "<br>";
}
document.getElementById("result").innerHTML = text;
}
</script>

最新更新