javascript代码兼容问题,IE9,火狐正常,IE8下出现错误! 求助啊大神!!!!!!!!

pengcong005 2012-07-24 10:01:34
js代码如下

<script type="text/javascript">
function AddFile() {
if (i <= 10) {
document.getElementById("divPanel").innerHTML += "<div>照片" + i + ":<input type='file' size='30' name='File'/></div>";
i++;
}
}
function RemoveFile() {
var text = document.getElementById("divPanel").innerHTML;
document.getElementById("divPanel").innerHTML = text.substr(0, text.lastIndexOf("<div>"));
if (i >= 2) {
i--;
}
else {
i = 1;
}
}
var i = 2;
</script>



前台代码:
<table border="0" width="100%" style="position: relative;">
<tr>
<td valign="top" width="100px" align="center">
<div>
<span style="color: #8600FF;" onclick="AddFile()" onmousemove="javascript:this.style.cursor='pointer';">
<img src="Images/OtherImages/more.jpg" />添加</span>
</div>
<div>
<span style="color: #8600FF;" onclick="RemoveFile()" onmousemove="javascript:this.style.cursor='pointer';">
<img src="Images/OtherImages/jian.jpg" />移除</span>
</div>
</td>
<td>
<div id="divPanel">
<div>
照片1:<input type='file' size="30" name='File' /></div>
</div>
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:ImageButton ID="ImgBtnUpLoad" ImageUrl="~/Images/OtherImages/UpLoadImage.jpg"
runat="server" OnClick="ImgBtnUpLoad_Click" />
</td>
</tr>
</table>

在IE8下,点击移除按钮,DivPanel里的File控件全部会被移除掉 ,没有道理啊,是IE8不支持substr函数还是用substr函数得到的结果跟IE9,火狐不一样? 求大神支招!
...全文
313 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengcong005 2012-07-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用 2 楼 的回复:
最好用Jquery来做,浏览器不兼容问题会少很多。


对啊,现在你还在手写纯js吗?
[/Quote]

是的 纯手写JS .原因我已经找到了。。是IE8以下会把div解析成DIV,这样的LastIndexOf就找不到正确的位置了。我已经改正了 还是谢谢你们
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
最好用Jquery来做,浏览器不兼容问题会少很多。
[/Quote]

对啊,现在你还在手写纯js吗?
宝_爸 2012-07-24
  • 打赏
  • 举报
回复
最好用Jquery来做,浏览器不兼容问题会少很多。
huangwenquan123 2012-07-24
  • 打赏
  • 举报
回复
帮你改了下,ie ff都可以
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>

<script type="text/javascript">
function AddFile() {
if (i <= 10) {
var div = document.createElement("div");
div.innerHTML = "照片" + i + ":<input type='file' size='30' name='File'/>";
document.getElementById("divPanel").appendChild(div);
i++;
}
}
function RemoveFile() {
var text = document.getElementById("divPanel");
var divCollection = text.getElementsByTagName("div");
text.removeChild(divCollection[divCollection.length-1])
if (i >= 2) {
i--;
}
else {
i = 1;
}
}
var i = 2;
</script>
</head>
<body>
<form runat="server">

<table border="0" width="100%" style="position: relative;">
<tr>
<td valign="top" width="100px" align="center">
<div>
<span style="color: #8600FF;" onclick="AddFile()" onmousemove="javascript:this.style.cursor='pointer';">
<img src="Images/OtherImages/more.jpg" />添加</span>
</div>
<div>
<span style="color: #8600FF;" onclick="RemoveFile()" onmousemove="javascript:this.style.cursor='pointer';">
<img src="Images/OtherImages/jian.jpg" />移除</span>
</div>
</td>
<td>
<div id="divPanel">
<div>
照片1:<input type='file' size="30" name='File' /></div>
</div>
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:ImageButton ID="ImgBtnUpLoad" ImageUrl="~/Images/OtherImages/UpLoadImage.jpg"
runat="server" />
</td>
</tr>
</table>
</form>
</body>
</html>

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧