2013-03-19 51 views
0

我有這個讓用戶上傳圖片。我想限制圖片的數量爲4.首先它只顯示一個輸入字段,然後如果用戶想要添加更多,他們可以點擊Button-Add-icon.png並出現另一個輸入字段。當他們達到四個輸入,他們決定刪除一個,他們點擊Button-Delete-icon.png。document.createElement無法在IE 8及以下版本中工作

這整個事情在Firefox,Chrome,Seamonkey和IE9上正常工作。但它不適用於IE8,IE7和之前的版本。 有人可以提供一個關於如何修復它的提示嗎?

感謝

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org 
/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title>Document sans titre</title> 

<script type="text/javascript"> 
    var totalItems = 0; 
    function addItems() 
{ 
    if(totalItems < 3) 
    { 
    var table1 = document.getElementById('tab1'); 
    var newrow = document.createElement("tr"); 
    var newcol = document.createElement("td"); 
    var input = document.createElement("input"); 
    input.type="file"; 
    input.name="image[]"; 
    newcol.appendChild(input); 
    newrow.appendChild(newcol); 
    table1.appendChild(newrow); 
    totalItems++; 
    } else { 
    //Display your message here.. 
     } 
} 


    function remItems() 
{ 
var table1 = document.getElementById('tab1'); 
var lastRow = table1.rows.length; 
if(lastRow>=2) 
{ 
table1.deleteRow(lastRow-1); 
totalItems--; 
} 
} 

</script> 
</head> 

<body> 

<table align="center" border="0" id="tab1" > 
    <tr> 
    <td width="218" align="center"><input type="file" name="image[]" /></td> 
     <td width="54" align="center"><img src="images/Button-Add-icon.png" 
     style="cursor:pointer" onclick="addItems()" /> 
     </td> 
    <td><img src="images/Button-Delete-icon.png" style="cursor:pointer" 
    onclick="remItems()" /> 
    </td> 
    </tr> 
</table> 

    <table align="center" border="0" id="tab2"> 
    </table> 

</body> 
</html> 
+0

我不是100%確定的,但我認爲不是做這些附加,你應該設置每個的innerHTML來解決問題,讓我找到它。 – Ohgodwhy 2013-03-19 21:20:56

+0

爲什麼當你根本不使用jquery時,這會導致jquery? – Cyrus 2013-03-19 21:31:23

+0

在'createElement'調用之後變量'newrow','newcol'和'input'變成'null'還是'undefined'?你有錯誤信息嗎?你怎麼知道'createElement'不工作? – ajp15243 2013-03-19 21:38:42

回答

1

要添加的行作爲一個孩子的錯誤的元素。

HTML表總是有一個tbody元素作爲子元素,所有tr元素都在這裏面。如果您編寫一段包含沒有tbody元素的HTML表格,它將自動創建,但稍後在更改表格時,必須考慮到tbody元素。

一個簡單的辦法是將tbody元素明確寫了,給它一個ID,並在tbody元素,而不是在table元素插入新行。

<table> 
    <tbody id="tb1"> 
     <tr><td></td></tr> 
    </tbody> 
</table> 
相關問題