2014-01-10 98 views
0

我有一個for循環,其中有innerHTML在裏面,我不知道爲什麼它不工作。該代碼是如下:For循環不與innerHTML工作

<head> 
<script language="javascript"> 

function afterload() 
{ 
    for(var n=1; n<11; n++) 
    { 
     document.getElementById("item"+n).innerHTML = window.opener.document.getElementById("item"+n).value; 
     document.getElementById("prc"+n).innerHTML = window.opener.document.getElementById("prc"+n).value; 
     document.getElementById("qty"+n).innerHTML = window.opener.document.getElementById("qty"+n).value; 
     document.getElementById("amt"+n).innerHTML = window.opener.document.getElementById("totl"+n).value; 
    } 
} 
</script> 
</head> 

<body onload="afterload()"> 
</body> 

在體內有與即item1prc1qty1amt1和它們運行最多爲10以上的ID表數據父窗口也具有與上述的ID輸入字段而且他們也跑到10.最令人困惑的是,如果我刪除for循環並寫入字段的實際id,它將完美工作。

+1

您是否收到任何錯誤?也許你沒有HTML中的所有元素? – putvande

+0

你能否提供源數據/額外的HTML代碼來重現錯誤? – Zam

+0

也請提供html – Cris

回答

0
<head> 
<script language="javascript"> 

function afterload() 
{ 
var item = document.getElementById("item"); 
var itemvalue = document.getElementById("item").value; 
var prc = document.getElementById("prc"); 
var prcvalue = document.getElementById("prc").value; 
var qty = document.getElementById("qty"); 
var qtyvalue = document.getElementById("qty").value; 
var amt = document.getElementById("amt"); 
var amtvalue = document.getElementById("totl").value; 
    for(var n=1; n<11; n++) 
    { 
     item.innerHTML += (itemvalue + "*" + n + "=" + (itemvalue*n) + "<br />"); 
     prc.innerHTML += (prcvalue + "*" + n + "=" + (prcvalue*n) + "<br />"); 
     qty.innerHTML += (qtyvalue + "*" + n + "=" + (qtyvalue*n) + "<br />"); 
     amt.innerHTML += (amtvalue + "*" + n + "=" + (amtvalue*n) + "<br />"); 
    } 
} 
</script> 
</head> 

<body onload="afterload()"> 
</body> 
0
function innerHtml(n) 
{ 
     document.getElementById("item"+n).innerHTML = window.opener.document.getElementById("item"+n).value; 
     document.getElementById("prc"+n).innerHTML = window.opener.document.getElementById("prc"+n).value; 
     document.getElementById("qty"+n).innerHTML = window.opener.document.getElementById("qty"+n).value; 
     document.getElementById("amt"+n).innerHTML = window.opener.document.getElementById("totl"+n).value; 
} 

function afterload() 
{ 
    for(var n=1; n<11; n++) 
    { 
     innerHtml(n); 
    } 
} 

希望它的幫助!