0

我试图让我的函数查看输入到文本框中的数字,如果它大于 x 数字(例如,我输入 5),则在 Div 中显示一条消息,如果小于或等于另一条消息。现在我单击按钮,没有任何反应。我是第一次尝试学习 Javascript,所以请原谅我的无知 - 我哪里出错了?谢谢!!

<script>
function function1()
{
for (var theNumber)
{
var theNumber=parseFloat(document.getElementById('theInput').value);

if (theNumber < 5)
    {
    document.getElementById('theDiv').innerHTML="Smaller.";
    }

else (theNumber >= 5)
    {
    document.getElementById('theDiv').innerHTML="Larger.";
    }
}
</script>
<body>
<input type="button" id="theButton" value="click me!" onclick="function1()"></p>
<div id="theDiv"></div>
</body>
</html>
4

3 回答 3

0

这里存在几个问题。

1.) 你没有一个 DOM 元素id="theInput"

2.)您误用了for用于循环的构造。正确的语法是for (incrementer_variable; condition_to_continue_looping; increment_by) {}

3.)您仅使用指定else if条件else(意味着您的条件将被忽略。

4.) 您缺少一个右花括号 ( }) 来完成定义function1

要解决这些问题,请添加一个带有 的 DOM 元素id="theInput",删除for(此处不需要),添加最后一个花括号,然后if在 the 之后添加一个else或删除条件(取决于您想要的行为)。

<input type="text" id="theInput">
<input type="button" id="theButton" value="click me!" onclick="function1()">
<div id="theDiv"></div>

和 JavaScript:

function function1() {
var theNumber = parseFloat(document.getElementById('theInput').value, 10);
if (theNumber < 5) {
    document.getElementById('theDiv').innerHTML = "Smaller.";
} else if (theNumber >= 5) {
    document.getElementById('theDiv').innerHTML = "Larger.";
}

另一个小问题(在潜力中)是您没有为parseFloat. 如果 JavaScript 引擎认为您的数字的基数不是 10,这可能会导致问题。为确保您始终获得 base10 数字,请为parseFloat: ( var x = parseFloat(otherVar, 10);) 的第二个参数指定一个基数。

演示:http: //jsfiddle.net/8tS7t/

于 2013-10-27T18:09:52.477 回答
0

改变这个

var theNumber=parseFloat(document.getElementById('theInput').value);

var theNumber=parseFloat(document.getElementById('theButton').value);

并且不要使用任何条件,不要使用任何else, else条件,而不是你可以使用else if

于 2013-10-27T17:55:03.307 回答
0
  1. 首先,您缺少一个右大括号。
  2. 然后你的else部分不应该有任何条件。
  3. 你的for语法是错误的,你在这里不需要它。
  4. 最后但并非最不重要的一点是,您将获得 的值theInput,该值根本不存在于表单中。

所以你修改的代码看起来像这样

function function1() {
    var theNumber = parseFloat(document.getElementById('theInput').value);
    if (theNumber < 5) {
        document.getElementById('theDiv').innerHTML = "Smaller.";
    } else {
        document.getElementById('theDiv').innerHTML = "Larger.";
    }
}

工作示例:http: //jsfiddle.net/V3QBc/

于 2013-10-27T17:56:53.833 回答