我有这个让用户上传图片。我想将图片数量限制为4.首先它只显示一个输入字段,然后如果用户想要添加更多,他们可以点击Button-Add-icon.png并显示另一个输入字段。当他们达到四个输入并决定删除一个输入时,他们点击Button-Delete-icon.png。
这一切在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 :(得分:1)
您将该行作为子元素添加到错误的元素中。
HTML表格总是有一个tbody
元素作为子元素,所有tr
元素都在此内部。如果您编写一段HTML,其中包含一个没有tbody
元素的表格,它将自动创建,但在稍后更改表格时,您必须考虑tbody
元素。
一个简单的解决方法是显式编写tbody
元素,为其指定ID,并在tbody
元素中插入新行,而不是在table
元素中插入新行。
<table>
<tbody id="tb1">
<tr><td></td></tr>
</tbody>
</table>