0

私は別のファイルにこの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 では動作しません! どんな手掛かり?

4

1 に答える 1

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>
于 2013-05-29T16:05:53.990 に答える