在JAVASCRIPT函数内调用函数

时间:2013-10-21 20:53:01

标签: javascript

<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>

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

2 个答案:

答案 0 :(得分: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>

此函数名称在F中有大写myFunction,而您在函数定义中写了“f”。所以也要改变它

function myFunction()

JS Fiddle Demo

答案 1 :(得分:0)

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

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

我还建议进行一些错误检查,以确保用户的输入不为空(如果它是空的,可以认为是0?或者显示错误?)。

另外,您的<script>标记应该放入head标记(或者更好,head标记中引用的单独js文件),而不是任意粘贴在{{1}}标记中你的HTML代码中间。