IEを使用していて、ドロップダウンが変更された後にデータベースからの値を含むテーブルを表示する単純なAJAXを実行する必要があります。ここでIEでAJAXを使用する方法
は私のスクリプトです:
<script type="text/javascript">
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!");
}
}
</script>
、ここでは私のAjaxのPHPは
ある<?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 "<table border = 1>";
echo "<tr><th>Employee Number</th><th>First Name</th><th>Last Name</th><th>Month-Year</th><th>Required Man Days</th><th>Edit/Delete</th></tr>";
/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 "<tr><td>".$empnum . "</td><td>".$firstname ."</td><td>".$lastname ."</td><td>" . $month_year ."</td><td>" .$required_man_days . "</td><td width = \"200\" align = \"center\"><a href = 'edit_mandays.php?mandays_id=$mandays_id');'>Edit/Delete</a></td></tr>";
}
echo "</table>";
?>
問題は、最初の "ONCHANGE" に、それは何もしないということです。 2番目の "ONCHANGE"には、PHPコード内のテーブルのヘッダーがエコーされている唯一のものです。
また、($ i = 0; $ i < 5; $ i ++)のクエリを実行せずにループを変更して、qvaluesを "1"に変更しましたが、まだそれはわかりませんloo [それを表示します。
どのような問題があるようですか? :(
「それは何か問題があると思われますか?何が問題なのですか?実際の問題の説明がありません。 – epascarello
@epascarello、問題は、最初の "ONCHANGE"では何もしないということです。 2番目の "ONCHANGE"には、PHPコード内のテーブルのヘッダーがエコーされている唯一のものです。 私はクエリを使わずにループを($ i = 0; $ i <5; $ i ++)に変更しようとしましたが、qvaluesを "1"に変更しましたがまだloo [それを表示します。 – prukuhkoo
あなたはjqueryを調べる必要があります - ブラウザ間で一貫性があり、非常に単純なものになります... – bryanmac