JavaScript表单可以在Chrome中使用,但不能在Firefox中使用

JavaScript表单可以在Chrome中使用,但不能在Firefox中使用,javascript,html,firefox,google-chrome,Javascript,Html,Firefox,Google Chrome,我刚刚完成一项任务,这项任务要求我构建一个汇总订单详细信息的小表单。它在Chrome中运行得非常好,但我在Firefox中运行了一个测试(评估员将使用该测试),它根本无法运行。如有任何关于原因的提示或解决方案,将不胜感激。谢谢 JavaScript function list(theform){ var mem = theform.elements["mem"].value; var cov = theform.elements["cover"].value; var cha =

我刚刚完成一项任务,这项任务要求我构建一个汇总订单详细信息的小表单。它在Chrome中运行得非常好,但我在Firefox中运行了一个测试(评估员将使用该测试),它根本无法运行。如有任何关于原因的提示或解决方案,将不胜感激。谢谢

JavaScript

function list(theform){

  var mem = theform.elements["mem"].value;
  var cov = theform.elements["cover"].value;
  var cha = theform.elements["charger"].value;
  var scr = theform.elements["screen"].value;
  var del = theform.elements["delivery"].value;
  var qty = theform.elements["qty"].value;


  acc = (parseInt(mem) + parseInt(cov) + parseInt(cha) + parseFloat(scr) + parseInt(del)) * qty;

  total.value = "$" + Math.round(acc*100)/100;
  return false;
}
HTML


记忆
案例
充电器
2GB:免费
4GB:$5.00
8GB:$12.00
16GB:$24.00
没有案例
皮箱:4美元
硅壳:4.00美元
无充电器
汽车充电器:5.00美元
车载充电器支架:$6.00
屏幕保护器
航运
没有一个
x1:$0.99
x2:$1.79
x3:$2.39
x5:$3.40
正常运输:不收费
加急交货(Fedox):35.00美元
量
全部的
算计

试着将您的脚本整理一下,看看有哪些错误

'acc' was used before it was defined.

您的脚本在my Firefox上运行良好,尽管它在控制台中发出警告:

全局范围中ID/NAME引用的元素。使用W3C标准 改为document.getElementById()

这是因为函数中未定义
total
,请尝试:

document.getElementById('total').value = "$" + Math.round(acc*100)/100;

在JavaScript中,使用前不必定义变量。@Derek是对的,jslint有时在验证中要求太高。不声明变量会自动使其成为全局变量。因此,始终声明以避免范围问题是一种好的做法。感谢您完美地修复了它。这不是答案,但值得注意的是,请确保您的和标记不在不同的元素中(即a和之后),否则,它可能无法在FF或IE中工作(但将在Chrome>>)
document.getElementById('total').value = "$" + Math.round(acc*100)/100;
var acc = (parseInt(mem) + parseInt(cov) + parseInt(cha) + parseFloat(scr) + parseInt(del)) * qty;