日期:2014-05-16  浏览次数:20684 次

javascript AJAX跨域 回调函数 IE浏览器下面表格内容不能修改
本帖最后由 wtujedp 于 2013-11-29 16:14:26 编辑

通过ID来获取NAME 例:0574 对应宁波。
目前的情况是在OPERA、谷歌的浏览器都行,但是在IE的浏览器下面不行。
好像是IE浏览器下回调函数内不能对表格进行"innerHTML"的修改。
 vDIV.innerHTML="<a href=\"http://www.baidu.com\">"+data.szTrans+"</a>";


代码如下:
<html>
<head>
<script type="text/javascript"> 

    window.onload = function()
{
     try
 {
var vBookList  =document.getElementById("T").getElementsByTagName("tr");
 
  var vCnt=vBookList.length;
 
//调用远程服务

for(var i=0;i<vCnt;i++)
{  
var vBookid= vBookList[i].getElementsByTagName("td")[0].innerHTML; 
var vURL="http://192.171.0.107/getbookcaseno.ashx?szBarCode="+vBookid+"&callback=showBookcaseno";
var script = document.createElement('script');
script.setAttribute("type","text/javascript");
script.src = vURL;
document.body.appendChild(script);
//document.body.removeChild(script);

 
 }
catch(e)
{
alert(e.message);
}  
       
 
    }
    //回调函数showBookcaseno
    function showBookcaseno(data) {

        //alert( data.szTrans+" 区号是: "+data.szbarcode);

if(data.szbarcode.length>0 && data.szTrans.length>0)
{   var vBookList  =document.getElementById("T").getElementsByTagName("tr");
for(var i=0;i<vBookList.length;i++)
{   
 var vBookid= vBookList[i].getElementsByTagName("td")[0].innerHTML; 
 if(vBookid==data.szbarcode)
 {
 try
 {
 
     //alert(vBookList[i].innerHTML.toLowerCase()+"<td><a href=\"http://www.baidu.com\">"+data.szTrans+"</a></td>");
 
  //vBookList[i].innerHTML="<td>"+vBookid+"</td><td><a href=\"http://www.baidu.com\">"+data.szTrans+"</a></td>"; 
  var vDIV = document.createElement('span'); 
  vDIV.innerHTML="<a href=\"http://www.baidu.com\">"+data.szTrans+"</a>";
                                                    
          vBookList[i].appendChild(vDIV);
  
 }
 catch(e)
 {
    alert(e.message);
 }
 
 }

}




    }
</script>
</head>
<body>
<table id="T">
<tr><td>0571</td></tr>
<tr><td>0572</td></tr>
<tr><td>0573</td></tr>
<tr><td>0574</td></tr>