2012-01-25 15 views
5
ダウン私のドロップのためのリストを持参し、HTMLに割り当てるために、私はAJAX呼び出しを使用しています

は、MozillaのNADのクロームのために正常に動作しますが、IEのためにそれはJavaScriptのinnerHTMLはIEでは動作していませんか?

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

これ以上のコードを投稿できますか?可能であれば、http://jsfiddle.net –

+0

をお試しください。tagNameはあなたの要素であり、あなたのXHRコールの作成方法と作成方法は? – BiAiB

+0

もっとコードを表示できますか? – Oybek

答えて

7

innerHTMLプロパティがでいくつかの問題があり、空白ドロップダウンを表示しますIEのフォーム要素を追加または更新しようとすると、問題を回避するには、DIVを作成し、DOMに追加する前に、その上のinnerHTMLプロパティを設定することです:

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

文書はIEがinnerHTMLプロパティを許可しませんXHTMLである場合直接設定することができます。 responseTextをDOM要素に解析し、既存の要素の内容をそれらの要素で置き換える必要があります。

0

おそらくappend()を使用できます。 例:

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

append()選択された要素の末尾に挿入コンテンツと選択された要素の先頭に挿入するprepend()を使用します。

関連する問題