我使用的是IE浏览器,我需要做一个简单的AJAX,一旦下拉被更改,它将显示一个包含数据库值的表格。如何在IE浏览器中使用AJAX
这里是我的脚本:
function getXML()
{
var req;
try {
req = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
req = null;
}
}
}
if (!req){
return null;
} else {
return req;
}
}
function filter(month, year)
{
if(getXML()){
var xmlhttp = getXML();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("mandayTable").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax/filterMandays.php?m="+month+"&y="+year,true);
xmlhttp.send();
} else {
alert("Error initializing XMLHttpRequest!");
}
}
这里是我的ajax PHP
$q = "SELECT md.mandays_id,md.employeenum,md.month,md.year,md.required_man_days,d.firstname,d.lastname
FROM tbl_mandays md,tbl_employee_details d
WHERE md.active = '1'
AND md.employeenum = d.employeenum
AND md.month = '10';"; //employee_details WHERE approver = 0"
$res = $db->Execute($q);
echo "
echo "
Employee NumberFirst NameLast NameMonth-YearRequired Man DaysEdit/Delete";/while($rows = $res->FetchRow())
for($i=0;$i<5;$i++)
{
$mandays_id = $rows[0];
$empnum = $rows[1];
$month_year = $rows[2] ."-" .$rows[3];
$required_man_days = $rows[4];
$firstname = $rows[5];
$lastname = $rows[6];
echo "
".$empnum . "".$firstname ."".$lastname ."" . $month_year ."" .$required_man_days . " Edit/Delete";}
echo "
";?>
的问题是,在第一次 “的onchange” 它不会做任何事情。 在第二个“ONCHANGE”中,php代码中表格的标题是唯一被回显的。我也试过这样做没有查询和改变循环为($ i = 0; $我< 5; $ i ++),并将qvalues更改为显示为“1”,但它仍然不会进入厕所[并显示它。
什么似乎是问题? :(
+0
“它似乎没有做它做什么,什么似乎是问题?”你似乎没有告诉我们问题是什么,你的对实际问题的描述丢失。 –
2012-02-23 03:47:18
+0
@epascarello,问题是在第一个“ONCHANGE”它没有做任何事情。 在第二个“ONCHANGE”中,php代码中表格的标题是唯一被回显的。 我也试过这样做没有查询和改变循环为($ i = 0; $我<5; $ i ++)和改变qvalues显示为“1”,但它仍然不会进入厕所[并显示它。 –
2012-02-23 03:53:05
+2
你应该看看jQuery - 它使浏览器和相当简单的一致... –
2012-02-23 03:54:53