2014-12-07 97 views
0
工作
function loadMyitem(output, counter, msg, FileQuery) { 

    //alert(output) 
    if(window.XMLHttpRequest) 
    { 
     xmlhttp = new XMLHttpRequest(); 
    } else { 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange = function() { 
     if (xmlhttp.readyState == 1) { 
      msg.style.display = 'block'; 
      msg.innerHTML = ""; 
     } else if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      msg.style.display = 'block'; 
      msg.innerHTML = ""; 

      var respStr = new Array(); 

      respStr = xmlhttp.responseText.split('|'); 
      optStr = output.split('|'); 
      var CC1 = $(counter).val(); 
      for (i = 0; i < respStr.length; i++) { 
       //alert(respStr[i]); 
       document.getElementById(optStr[i] + CC1).value = respStr[i]; 
      } 
     } 
    } 

    //document.getElementByID(msg).innerHTML=inputText; 
    xmlhttp.open("get", FileQuery, true); 
    xmlhttp.send(); 
} 

这个工作在Firefox,但是当我在Chrome或Opera然后执行此功能的报错:elementID.style.display =“块”中铬无法正常工作,但在Firefox

Uncaught TypeError: Cannot set property 'display' of undefined

这个函数有什么问题?

+2

如果你您使用普通的香草AJAX使用jQuery,为什么上帝的绿色地球? – j08691 2014-12-07 21:25:11

+0

@ j08691他在这里没有使用jQuery。 – Rob 2014-12-08 00:45:38

+0

'味精'是什么?你可以显示你在哪里调用'loadMyItem'? – Phil 2014-12-08 01:03:23

回答

0

假设msg与元素ID的字符串,试试这个...

var msgElement = document.getElementById(msg); 
if (msgElement) { 
    msgElement.style.display = 'block'; 
    // and so on 
} 
相关问题