2014-12-07 2 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, но когда я выполнить эту функцию в хроме или оперы, то его ошибка поддавки:elementID.style.display = «блок» не работает в хроме но работает в Firefox

Uncaught TypeError: Cannot set property 'display' of undefined

В чем проблема в этой функции?

+2

Если вы используете JQuery, почему на зеленой земле Бога вы используете простую ваниль AJAX? – j08691

+0

@ j08691 Он не использует jQuery здесь. – Rob

+0

Что такое 'msg'? Можете ли вы показать, где вы называете 'loadMyItem'? – Phil

ответ

0

Предполагая msg является строка с элементом ID, попробуйте это ...

var msgElement = document.getElementById(msg); 
if (msgElement) { 
    msgElement.style.display = 'block'; 
    // and so on 
} 
Смежные вопросы