-1
<table>
  <td><input type="text" name="estimatedMilesPerYear"/></td>
  <td id="demo"></td>
</table>

<script>
function myfunction()
{
   var estMilesPerYear=document.getElementByName("estimatedMilesPerYear")[0].value;
   return estMilesPerYear*12;
}
document.getElementById("demo").innerHTML=myFunction();
</script>

<button onclick="myFunction()">Compute</button>

这是我拥有的代码。我需要我的浏览器从用户给出的输入中检索值,并在表的第二列中显示计算结果。代码有问题吗?

4

2 回答 2

0

你有错字document.getElementByName,应该是getElementsByName

var estMilesPerYear = document.getElementByName("estimatedMilesPerYear")[0].value;

应该

var estMilesPerYear = document.getElementsByName("estimatedMilesPerYear")[0].value;

并更新函数本身内部的innerHTML,以便在函数调用时更新它

function myfunction(){
   var estMilesPerYear=document.getElementsByName("estimatedMilesPerYear")[0].value;
   document.getElementById("demo").innerHTML = estMilesPerYear*12;
}

还有一件事,你调用函数又出错了,看

<button onclick="myFunction()">Compute</button>

这里函数名称大写FmyFunction而您在函数定义中写了“f”。所以也要改

function myFunction()

JS 小提琴演示

于 2013-10-21T20:55:35.943 回答
0

您实际设置第二列的 html 的代码不在按钮调用的函数中。尝试这个:

function myfunction()
{
   var estMilesPerYear=document.getElementsByName("estimatedMilesPerYear")[0].value;
   document.getElementById("demo").innerHTML = estMilesPerYear*12;
}

我还建议进行一些错误检查,以确保用户的输入不为空(如果为空,则可能将其视为 0?或显示错误?)。

顺便说一句,您的<script>标签应该进入head标签(或者更好的是,head标签中引用的单独 js 文件),而不是随意粘贴在 html 代码中间。

于 2013-10-21T20:56:49.153 回答