Javascript代码无法在Chrome上运行

时间:2013-05-29 15:52:44

标签: javascript javascript-events cross-browser

我在一个单独的文件上有这个javascript:

function calcularPontos_a()
{
    var totala = 0
    var a1 = parseFloat(document.getElementById("a1").value)  || parseFloat("0")
    var a2 = parseFloat(document.getElementById("a2").value)  || parseFloat("0") 
    var a3 = parseFloat(document.getElementById("a3").value)  || parseFloat("0")
    var a4 = parseFloat(document.getElementById("a4").value)  || parseFloat("0")
    var a5 = parseFloat(document.getElementById("a5").value)  || parseFloat("0")
    var a6 = parseFloat(document.getElementById("a6").value)  || parseFloat("0")
    var a7 = parseFloat(document.getElementById("a7").value)  || parseFloat("0")
    var a8 = parseFloat(document.getElementById("a8").value)  || parseFloat("0")
    var a9 = parseFloat(document.getElementById("a9").value)  || parseFloat("0")
    var a10 = parseFloat(document.getElementById("a10").value)  || parseFloat("0")
    var a11 = parseFloat(document.getElementById("a11").value)  || parseFloat("0")
    var a12 = parseFloat(document.getElementById("a12").value)  || parseFloat("0")
    var a13 = parseFloat(document.getElementById("a13").value)  || parseFloat("0")
    var a14 = parseFloat(document.getElementById("a14").value)  || parseFloat("0")                                  
    var a15 = parseFloat(document.getElementById("a15").value)  || parseFloat("0")
    var a16 = parseFloat(document.getElementById("a16").value)  || parseFloat("0")
    totala = ((a1 + a2 + a3 + a4 + a5+a6+a7+a8+a9+a10+a11+a12+a13+a14+a15+a16)/100)*9
    return totala.toFixed(2)

}   

并在我的html页面上以这种方式调用此函数:

<input type="submit" value="Calcular" id="btnCalcular" class="btn" onClick="calcularPontos_a();window.location.reload()">

这在Firefox上很有用,但在IE上,Chrome和Safari无法正常工作!任何线索?

一切顺利! 谢谢!

1 个答案:

答案 0 :(得分:0)

这主要是对现有代码的简化,但它可能会解决问题。如果问题仍然存在,请告诉我。

function calcularPontos_a() {

  var i,totala = 0;
  for(i=1;i<17;i++) totala += parseFloat(document.getElementById("a" + i).value) || 0;
  return (totala * 9 / 100).toFixed(2);

}

编辑:

要在评论中回答您的问题,请使用此版本:

function calcularPontos_a() {

  var i,totala = 0;
  for(i=1;i<17;i++) totala += parseFloat(document.getElementById("a" + i).value) || 0;
  document.getElementById("link-01").innerHTML = "PONTOS GRUPO A: " + (totala * 9 / 100).toFixed(2) + " PTS";

}

使用此按钮:

<button id="btnCalcular" class="btn" onClick="calcularPontos_a();">Calcular</button>