Javascript事件无法加载

时间:2013-03-31 02:22:51

标签: javascript

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

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

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

问题是,在我对其中一个输入元素执行某些操作之前,计算结果不会显示。

可在此处查看实时版本:http://www.websane.nl/macbook/opgeslagen.php?id=1

你知道问题是什么吗?

1 个答案:

答案 0 :(得分:2)

问题是语句form中的calc(form);不是任何东西 - 它是未定义的。这是有道理的 - 不仅HTML文档中可以有许多表单(因此它永远无法自动工作),您永远不会将form变量绑定到其中任何一个。要获取对特定表单的引用,您可以使用以下几种技术:

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

使用以上其中一项替换form事件中的onload,事情应该有效。可以有许多其他方法来获取对表单的引用。