index.php HTML页面:<table>
     <tr>
          <td>姓名</td>
         <td>
                <select name="username" id="username">
                    <option></option><-- 从数据库中循环出来的->
                 </select>
         </td>
          <td>学号</td>
          <td>
                <div id="number"></div>
          </td>
     </tr>
</table>
ajax.js页面function createXHR() {        
        return window.XMLHttpRequest?
            new XMLHttpRequest():
            new ActiveXObject("Microsoft.XMLHTTP");
}
var username = document.getElementById('username');
    username.onchange = function() {
        var xhr = createXHR();
        xhr.open('GET','member.php?username='+username.value,true);
        xhr.onreadystatechange=function() {
            if ( xhr.readyState == 4 && xhr.status == 200) {
                var text=xhr.responseText;
                if (document.all) {
                    document.getElementById('usermember').outerHTML='<input id="usermember" type="text" value="'+text+'"/>';
                } else {
                    document.getElementById('usermember').innerHTML = text;
                  }
            }
        };
        xhr.send();
        
};member.php内容
if (!!$_GET['username']) {
  $_rows = _fetch_array("SELECT tg_usernumber FROM tg_user WHERE tg_username = '{$_GET['username']}'");
  echo $_rows['tg_usernumber'];
}以上,在FF下可以显示出,但是在IE下却显示不了,不知道为什么,一个上午都没有搞定
后面看到论坛里面之前有人发贴,有高手说是
<td>
<div id="member"></div>
</td>
这个的问题,但是我不知道怎么修改,才能让IE显示出来,太苦恼了~~

解决方案 »

  1.   


     不对啊    lz 是 ff可以运行   ie不可以.. 有点..  难以接受  
      

  2.   

    不好意思,知道点原因了
    原来是下一步在 IE中显示乱码xhr.open('GET','member.php?username='+username.value,true);在IE中echo $_GET['username'] 显示 ?? 在FIREFOX是正常的,显示 张三我不明白,我在文件头有定义,格式
    header('Content-Type:text/html;charset=utf-8');
      

  3.   

    自己解决了,``
    加个encodeURI就可以了.
    xhr.open('GET','member.php?username='+encodeURI(username).value,true);