2012-01-25 26 views
5
aşağı benim damla listesini getirmek ve html atamak için sana ajax arama kullanıyorum

, mozilla nad crome'da için çalışıyor ancak IE için buJavaScript innerHTML IE için çalışmıyor?

var xmlhttp; 

var strURL = "selectedu.php?selectward="+selectward; 

if (window.XMLHttpRequest) 
{// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
} 
else 
{// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.onreadystatechange = function(){ 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
     if(xmlhttp.responseText=="NOER") 
     { 
      alert("Select ER Type"); 
     } 
     else 
     { 
      document.getElementById(id).innerHTML=xmlhttp.responseText; 
     } 
    } 
} 
xmlhttp.open("GET",strURL,true); 
xmlhttp.send(); 
+0

Bunun için daha fazla kod gönderebilir misiniz? Mümkünse http://jsfiddle.net –

+0

'u deneyebilirsiniz: Hangi tagName öğenizdir, XHR aramanızı nasıl yaratırsınız? – BiAiB

+0

Bize daha fazla kod gösterebilir misiniz? – Oybek

cevap

7

innerHTML mülkiyet bazı sorunları var boş açılan görüntüler belge XHTML'dir

var newdiv = document.createElement("div"); 
newdiv.innerHTML = xmlhttp.responseText; 
var container = document.getElementById(id); 
container.appendChild(newdiv); 
4

Eğer IE innerHTML özelliği izin vermez: form öğeleri eklemek veya güncellemek için çalışırken IE, geçici çözüm DOM eklemeden önce bu konuda innerHTML özelliğini bir div oluşturmak ve ayarlamaktır doğrudan ayarlanacak. responseText'u DOM öğelerine ayırmanız ve varolan öğenin içeriğini bu öğelerle değiştirmeniz gerekir.

0

Belki de append()'u kullanabilirsiniz. Örnek:

$get('yourTargetObjectId').append('<p>this test to add</p>'); 

append() uçlar seçilen elemanın sonunda içerik ve prepend() kullanımı seçilen elemanın başındaki eklemek için kullanılır.