js在IE下报 object error

jiuchang 2012-05-02 11:54:00
使用ajaxfileupload实现上传图片的功能,firefox下功能正常。在ie下报object error
出错的代码如下:
	function ajaxFileUpload()
{
$("#loading")
.ajaxStart(function(){
$(this).show();
})
.ajaxComplete(function(){
$(this).hide();
});
$.ajaxFileUpload
(
{
url:'upload.php?do=upload',
secureuri:false,
fileElementId:'fileToUpload',
dataType: 'json',
data:{name:'logan', id:'id'},
success: function (data, status)
{
if(typeof(data.error) != 'undefined')
{
if(data.error != '')
{
alert(data.error+'abc');
}else
{
document.getElementById('photo').value=data.msg;
var node1 = document.getElementById('imgnode1');
var text =
"<br><img src='"+data.msg
+"' width='130' height='160' >"
+"<form name='imgdel' id='imgdel' action='upload.php?do=delete' method='post'>"
+"<input type='hidden' name='file' value='"+data.msg
+"'><input type='button' onclick='return ajaxFileDelete();' value='删除'></form>";
var node2 = document.getElementById('imgnode2');
node2.innerHTML = text;
}
}
},
error: function (data, status, e)
{
alert(e);
}
}
)

return false;
}


通过加alert,已经定位到是node2.innerHTML = text;出错。请大家帮忙看下是什么问题。

网页中相关的代码如下:
			<tr><th align="right">照片</th><td></td>
<td><input name="photo" id="photo" value="" type="hidden" />
<div id="imgnode1">
<input type="file" size=28 name="file" id="fileToUpload" class="input" />
<br />
<input type="button" id="buttonUpload" onclick="return ajaxFileUpload();" value="上传" />
</div>
<div id="imgnode2"> </div>
</td></tr>
...全文
344 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jiuchang 2012-05-05
搞定了,应该是节点中有form引起的问题,把form删除就正常了
回复
jiuchang 2012-05-04
node2获取到了,alert的结果是一个object

这段代码只在IE下有问题,在firefox下能正常工作,实现两个节点的替换显示
回复
hellNo 2012-05-04
你看你ID为imgnode2这个div获取到了吗?打个断点看看node2是不是null
回复
jiuchang 2012-05-04
顶,求高手指点
回复
发动态
发帖子
JavaScript
创建于2007-09-28

8.4w+

社区成员

Web 开发 JavaScript
申请成为版主
社区公告
暂无公告