**已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
3天前关闭。
Improve this question
这正是他们想要我们做的:
创建一个页面(+ JavaScript),在其中实现一个简单的加法器,即您将在文本框中键入数字,然后单击按钮,这些数字将被添加到第二个文本框中显示的总数中。
如果总和超过1000,则显示一条消息。
我已经试过了,但是无论我怎么试,似乎都不起作用。我很感激一些帮助
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input type="text" id="txt1" value="0"/>
<button onclick="AddNumbers()">Add</button>
<input type="text" id="txt2" value="0"/>
<script>
function AddNumbers() {
var t1 = document.getElementById("txt1").value;
var t2 = document.getElementById("txt2").value;
var sum = parseFloat("t1").value + parseFloat("t2").value ;
if (sum > 1000){
window.alert("Over 1000");
} else {
t2=sum;
document.getElementById("txt2").innerHTML=t2;
}
}
</script>
</body>
</html>
3条答案
按热度按时间pod7payv1#
正如一些评论所提到的,您的错误在这一行:
您需要获取变量t1和t2,它们已经是(字符串化)数字。
然而,当你写这篇文章的时候,它试图用答案替换第二个输入的内容。你可能应该在页面上创建第三个元素来保存加法的结果。
brgchamk2#
将结果放入#txt2不是一个好主意,因为如果这样做,就会丢失#txt2。
接下来,你不应该在输入上使用
.innerHTML
来改变它的值,而应该使用.value = x
。如果要以HTML格式显示总和,请创建一个新标记,该标记将接收.innerHTML
parseFloat
是在变数上呼叫的,因此请使用如下方式:parseFlot(t1)
而不是parseFloat("t1")
。那么,t1是一个字符串,因此您不必调用.value
pcrecxhr3#
变量t1和t2已经被赋予了textbox的值,因此只需添加变量即可。要设置textbox中的值,需要使用.value = 'someValue',innerHTML -用于将DOM元素添加/追加到目标元素中
尝试下面的代码,它可能会帮助你