2016-02-29 100 views
-2

我試圖運行JavaScript環以下,但它不工作:無法調用Javascript方法

function column_total() 
    { 
    alert("In column_total method"); 
    var row1val=0,row2val=0,row3val=0,row4val=0,row5val=7,row6val=0,row7val=0,row8val=0,row9val=0,row10val=0,row11val=0,row12val=0; 
    for(i=1;i<=12;i++) 
    { 
     for(j=i;j<=i;j++) 
     { 
      alert("In j loop"); 
      row"+j+"val += parseFloat(document.getElementById('p'"+i+").value); 
      row"+j+"val += parseFloat(document.getElementById('d'"+i+").value); 
      row"+j+"val += parseFloat(document.getElementById('o'"+i").value); 
      document.getElementById('t1').value=row"+i+"val; 
     } 
     var rowtotalval=row1val+row2val+row3val+row4val+row5val+row6val+row7val+row8val+row9val+row10val+row11val+row12val; 
     return true; 
    } 
    } 

在我打電話通過文本框T1的onfocus屬性的代碼,這裏的HTML是html代碼:

<input type="text" name="p1" id="p1"></input> 
<input type="text" name="p2" id="p2"></input> 
<input type="text" name="d1" id="d1" ></input> 
<input type="text" name="d2" id="d2" ></input> 
<input type="text" name="o1" id="o1" ></input> 
<input type="text" name="o2" id="o2" ></input> 
<input type="text" name="t1" id="t1" onfocus="column_total()"></input> 
+2

'for(j = i; j <= i; j ++)' – fcalderan

+0

什麼?你有很多錯誤,你想要做什麼? – Alexis

+0

除了語法錯誤之外,你的函數在外層循環的第一次迭代中返回true ......並不完全確定你實際要完成的工作。 – arthurakay

回答

0

正確的您應該使用數組,而不是row"+j+"val。您嘗試使用的這種「動態」變量名稱語法不存在。

例如,您可以使用名爲rowval的數組並使用rowval[j] += parseFloat(document.getElementById('p'"+i+").value)爲其賦值。

您也可以使用evalthis[row"+j+"val] += x做類似的事情,但我沒有看到任何需要使用與平凡數組不同的地方。

1

行 「+ J +」 VAL - 這是還沒有爲JavaScript