我有一个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
你知道问题是什么吗?
答案 0 :(得分:2)
问题是语句form
中的calc(form);
不是任何东西 - 它是未定义的。这是有道理的 - 不仅HTML文档中可以有许多表单(因此它永远无法自动工作),您永远不会将form
变量绑定到其中任何一个。要获取对特定表单的引用,您可以使用以下几种技术:
document.getElementsbyTagName('form')[0]
document.forms[0]
document.forms.formname
document.getElementById('theFormId')
使用以上其中一项替换form
事件中的onload
,事情应该有效。可以有许多其他方法来获取对表单的引用。