计算时出现Javascript错误

计算时出现Javascript错误,javascript,html,forms,Javascript,Html,Forms,我有一个php简单的程序来计算一个文本框和另一个文本框,1年前,现在没有问题了,我的JavaScript有问题。它不能数我的文本框 我的表单代码在这里(没有html标记,以尽量减少这里的代码): 是否有人可以更正我的代码,或者是否有来自JS的任何更新导致我的JS代码现在无法工作?尝试按id而不是按表单引用输入框。名称: function calculate(){ var num1=document.getElementById('tol').value; var num2=docum

我有一个php简单的程序来计算一个文本框和另一个文本框,1年前,现在没有问题了,我的JavaScript有问题。它不能数我的文本框

我的表单代码在这里(没有html标记,以尽量减少这里的代码):


是否有人可以更正我的代码,或者是否有来自JS的任何更新导致我的JS代码现在无法工作?

尝试按id而不是按表单引用输入框。名称:

function calculate(){
   var num1=document.getElementById('tol').value;
   var num2=document.getElementById('parkir').value;
   var num3=document.getElementById('joki').value;
   var num4=document.getElementById('other').value;

   var sum=parseFloat(num1)+parseFloat(num2)+parseFloat(num3)+parseFloat(num4);
   document.getElementById('totalbox').value=sum.toString();
   document.getElementById('subtotal').value=sum.toString();
}
将id属性添加到输入中:

<input type="text" maxlength="11" name="tol" id="tol" onkeydown="calculate()" value="0" />
...

尝试使用onkeyup事件而不是onkeydown。onkeydown事件在文本框的值反映输入之前触发。

它与。。。代码不包括我的文本框。。。是否有来自JS的更新导致我的代码无法工作?我已经尝试过了。我甚至尝试过聚焦、模糊、改变,但都一样(我明白了……这就是问题所在……您编写window.calculate=function(),我只编写function calculate(),非常感谢,现在工作正常了……:DWhy/这是如何解决问题的?
function calculate(){
   var num1=document.getElementById('tol').value;
   var num2=document.getElementById('parkir').value;
   var num3=document.getElementById('joki').value;
   var num4=document.getElementById('other').value;

   var sum=parseFloat(num1)+parseFloat(num2)+parseFloat(num3)+parseFloat(num4);
   document.getElementById('totalbox').value=sum.toString();
   document.getElementById('subtotal').value=sum.toString();
}
<input type="text" maxlength="11" name="tol" id="tol" onkeydown="calculate()" value="0" />
...
function calculate(){
  var fld1 = document.getElementById('tol');
  var num1 = 0;
  if (fld1 && fld1 != 'undefined') num1 = fld1.value;
  ...