我试图使用HTML按钮调用JavaScript函数。

代码如下:

<input type="button" value="Capacity Chart" onclick="CapacityChart();">

但它似乎不能正常工作。还有更好的办法吗?

这是链接:http://projectpath.ideapeoplesite.com/bendel/toolscalculators.html点击左下角的容量选项卡。如果值没有更改,该按钮应该生成一个警报,如果输入值,则应该生成一个图表。


当前回答

我认为最好以一种不引人注目的方式添加javascript……

如果使用jQuery,你可以这样做:

<script>
  $(document).ready(function(){
    $('#MyButton').click(function(){
       CapacityChart();
    });
  });
</script>

<input type="button" value="Capacity Chart" id="MyButton" >

其他回答

你的代码在这一行失败了:

var RUnits = Math.abs(document.all.Capacity.RUnits.value);

我试着用firebug踩过它,它失败了。这应该能帮你解决问题。

你已经引用了jquery。你也可以在所有这些函数中使用它。它将显著地清理您的代码。

正如您所知道的,当您调用函数时,分号(;)不应该出现在按钮中。

它应该是这样的onclick="CapacityChart()"

然后这一切都应该工作:)

我有一个智能函数调用回退按钮代码:

<br>
<p id="demo"></p><h2>Intelligent Button:</h2><i>Note: Try pressing a key after clicking.</i><br>
<button id="button" shiftKey="getElementById('button').innerHTML=('You're pressing shift, aren't you?')" onscroll="getElementById('button').innerHTML=('Don't Leave me!')" onkeydown="getElementById('button').innerHTML=('Why are you pressing keys?')" onmouseout="getElementById('button').innerHTML=('Whatever, it is gone.. maybe')" onmouseover="getElementById('button').innerHTML=('Something Is Hovering Over Me.. again')" onclick="getElementById('button').innerHTML=('I was clicked, I think')">Ahhhh</button>

我认为最好以一种不引人注目的方式添加javascript……

如果使用jQuery,你可以这样做:

<script>
  $(document).ready(function(){
    $('#MyButton').click(function(){
       CapacityChart();
    });
  });
</script>

<input type="button" value="Capacity Chart" id="MyButton" >

这看起来是正确的。我猜你用不同的名字定义了你的函数,或者在一个对按钮不可见的上下文中。请添加一些代码