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

Why are negative integers not registering in my text box?

从早上开始我就一直在努力找出我的代码有什么问题。我试着在这里查找问题,但找不到任何帮助。我使用此代码的目标是创建一个循环并列出在文本字段中输入的所有大于 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>