0

我正在尝试获取一个文本框,您可以在其中输入一个数字,然后单击按钮,它将乘以 2 并将结果显示在 Div 中。现在,它会为结果打开一个新页面,并显示输入的数字,而不是数字乘以 2。我究竟做错了什么?初学者,请轻点!谢谢!!

<html>
<script>
function doubleit()
{
var theNumber=document.write(parseFloat(document.getElementById('theInput').value));
var doubleNumber =document.getElementById('theNumber')*2;
document.getElementById('theDiv').innerHTML(document.getElementById('doubleNumber'))
}
</script>
<body>
<p>Value: <input type="text" id="theInput" value="" size=10>
<input type="button" id="theButton" value="click me!" onclick="doubleit()"></p>
<div id="theDiv"></div>
</body>
</html>
4

4 回答 4

2

document.write这是替换页面的调用。去掉它:

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

当你想要一个变量的值时,你不应该使用document.getElementById

var doubleNumber = theNumber * 2;

innerHTML是一个属性,而不是一个方法:

document.getElementById('theDiv').innerHTML = doubleNumber;
于 2013-10-26T19:03:35.883 回答
0
var doubleNumber = Number(theNumber, 10)*2;
document.getElementById('theDiv').innerHTML(doubleNumber);
于 2013-10-26T18:59:29.510 回答
0

像这样的东西

function doubleit()
{
var theNumber=parseFloat(document.getElementById('theInput').value) * 2;
document.getElementById('theDiv').innerHTML = theNumber;
}
于 2013-10-26T19:01:28.460 回答
0

试试这个解决方案:

使用按钮的 id 调用函数来计算结果。

theButton.onclick = function doubleit()
{
    //Simply get the number from user and parse it as float.
    var theNumber=parseFloat(document.getElementById('theInput').value);
    //Multiply it with 2
    var doubleNumber =theNumber*2;

    //Display the result in another div
    document.getElementById('theDiv').innerHTML = doubleNumber;
}

演示

于 2013-10-26T18:58:51.553 回答