Javascript事件无法加载

Javascript事件无法加载,javascript,Javascript,我有一个JavaScript事件,它根据两个变量(价格和产品使用天数)计算某物的价格。该函数在两个输入元素上被调用,如下所示:onkeyup=calc(this.form),这就像一个符咒 我已经用这两个值连接了一个DB,并将它们作为两个输入元素的值进行了回显(这是成功的),并添加了这一功能,以在加载页面时实现该功能: <script type="text/javascript"> window.onload = function() {

我有一个JavaScript事件,它根据两个变量(价格和产品使用天数)计算某物的价格。该函数在两个输入元素上被调用,如下所示:
onkeyup=calc(this.form)
,这就像一个符咒

我已经用这两个值连接了一个DB,并将它们作为两个输入元素的值进行了回显(这是成功的),并添加了这一功能,以在加载页面时实现该功能:

<script type="text/javascript">
    window.onload = function()
         {
             calc(form);
         }; 
</script>

window.onload=函数()
{
计算(表格);
}; 
问题是,在我对其中一个输入元素进行处理之前,计算结果不会显示出来

在这里可以看到实时版本:


你知道问题是什么吗?

问题是语句
calc(form)中的
form
不是什么——它是未定义的。这很有意义——一个HTML文档中不仅可以有许多表单(因此它永远不会自动工作),而且也不会将
form
变量绑定到其中任何一个。要获取对特定表单的引用,可以使用以下几种技术:

  • document.getElementsbyTagName('form')[0]
  • document.forms[0]
  • document.forms.formname
  • document.getElementById('theFormId')

onload
事件中的
表单
替换为上述内容之一,事情应该会正常进行。获取表单引用的方法还有很多。

尝试以下方法:
window.onload=function(){calc(document.getElementsByTagName(“表单”)[0])
window.onload=function(){calc(document.forms[0]);}两者都很有效!非常感谢,我又学到了一些东西!