我写了这段代码,并说它没有定义t1。 " T1"是我的文本框的名称。我在某处读到它可能是局部变量和全局变量的问题,因为其他函数也在使用" t1"。所以我在函数之外声明了变量,以使其成为全局变量但它无论如何都没有帮助。起初," t2"正在构成同样的问题,但使其全局化,错误被删除了。
<head>
<script language="javascript">
var x=parseInt(t1.value);
function nn()
{
var i=1;
var s=0;
while (i<=x)
{
s=s+i;
i++;
}
}
t2.value=s;
</script>
</head>
<body>
Enter A Number :
<input type=text size=20 name="t1">
<input type=button onclick="nn()" value="Sum of Natural Numbers">
<br>
Sum Obtained :
<input type=text size=20 name="t2">
</body>
请用简单的话来解释。我的编码知识很少。 谢谢!
答案 0 :(得分:2)
您只能通过简单地说t1
或t2
来访问javascript中的文本框。您必须获取该元素的引用,然后您应该访问该元素的value属性。
为文本框添加一些ID并使用document.getElementById()
方法访问它。请参阅下面的代码段
function nn() {
var x = parseInt(document.getElementById('t1').value);
var i = 1;
var s = 0;
while (i <= x) {
s = s + i;
i++;
}
document.getElementById('t2').value = s;
}
&#13;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
Enter A Number :
<input type=text size=20 name="t1" id='t1'>
<input type=button onclick="nn()" value="Sum of Natural Numbers">
<br>Sum Obtained :
<input type=text size=20 name="t2" id='t2'>
</body>
</html>
&#13;
答案 1 :(得分:1)
在您的代码中,t1.value不存在。 T1是DOM元素,而不是JavaScript变量。
您应该在文本框中放置一个id标记,如下所示:
<input type=text size=20 name="t1" id=”t1”>
然后像这样调整你的javascript:
var x=parseInt(document.getElementById('t1').value);
此外,您的代码将无法正常工作,因为它是在页面上生成文本框之前执行的。
要防止它,您可以使用document.ready事件。
或喜欢T.J.的评论克劳德建议:
将脚本放在它引用的元素下面
答案 2 :(得分:1)
您需要将与文本框t1和t2相关的对象传递给javascript,以便处理输入和输出数据。 首先,将html代码更改为
<input type=text size=20 id="t1">
<input type=text size=20 id="t2">
<input type=button onclick="javascript:nn();" value="Sum of Natural Numbers">
然后转到上面的Javascript块并编写此代码
var t1 = document.getElementById("t1");
var t2 = document.getElementById("t2");
var x=parseInt(t1.value,10);
其余代码如下。 快乐的编码!
答案 3 :(得分:1)
t1变量将您的HTML更改为
<input type=text size=20 name="t1" id="t1">
从这个id,您可以在Javascript中获取此元素,如下所示
var x=parseInt(document.getElementById('t1').value);
在body标签下面编写函数以正确运行脚本
答案 4 :(得分:0)
将此代码放在</body>
下:
<script language="javascript">
var x=parseInt(t1.value);
function nn()
{
var i=1;
var s=0;
while (i<=x)
{
s=s+i;
i++;
}
}
t2.value = S;
执行代码的第一行时,尚未加载此元素。
答案 5 :(得分:0)
尝试以下更新代码。
<head>
<script language="javascript">
function nn()
{
var t1 = document.getElementById('t1');
var x=parseInt(t1.value);
var i=1;
var s=0;
while (i<=x)
{
s=s+i;
i++;
}
var t2 = document.getElementById('t2');
t2.value=s;
}
</script>
</head>
<body>
Enter A Number :
<input type=text size=20 name="t1" id="t1">
<input type=button onclick="nn()" value="Sum of Natural Numbers" >
<br>
Sum Obtained :
<input type=text size=20 name="t2" id="t2">
</body>