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显示出来,太苦恼了~~
<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显示出来,太苦恼了~~
不对啊 lz 是 ff可以运行 ie不可以.. 有点.. 难以接受
原来是下一步在 IE中显示乱码xhr.open('GET','member.php?username='+username.value,true);在IE中echo $_GET['username'] 显示 ?? 在FIREFOX是正常的,显示 张三我不明白,我在文件头有定义,格式
header('Content-Type:text/html;charset=utf-8');
加个encodeURI就可以了.
xhr.open('GET','member.php?username='+encodeURI(username).value,true);