我知道我知道。从上面的标题,你可能想知道我到底在问什么。让我试着把它分解得更容易一些,因为我被卡住了,无法弄清楚。所以这里........
我的网站上有一个地方,用户可以在其中查看已发布的新闻项目列表。所有新闻项目都列在 MYSQL 数据库中,并使用 PhP 检索并显示在页面上,如下所示:
$sql_list = "SELECT * FROM LatestMusic WHERE active = 'y' ORDER BY lm_id DESC";
$sql_list_result = mysql_query($sql_list,$connection) or die ('Could not select the List of Latest Music Entries');
$bgc = "FFC6C6";
while($list_data = mysql_fetch_array($sql_list_result)){
if ($bgc == "FFC6C6") {
$bgc = "FFFFFF";
} else {
$bgc = "FFC6C6";
}
print "<tr bgcolor=\"#" .$bgc. "\">";
print "<td align=\"center\" width=\"44\">";
print "<a href=\"#\" onclick=\"loadXMLDoc()\"><img src=\"/images/b_edit.png\" border=\"0\"></a>";
print "</td>";
print "<td align=\"center\" width=\"63\">";
print "<img src=\"/images/b_drop.png\" border=\"0\">";
print "</td>";
print "<td align=\"left\" style=\"padding-left: 15px;\">";
echo $list_data[1];
print "</td>";
print "</tr>";
}
我得到的那部分。从那里,当用户单击数据库中列出的任何条目时,我需要一个外部 PHP 页面来加载同一页面上的 DIV 内部而不加载。我在同一页面的标题中使用此编码来完成这样的任务:
<script>
function loadXMLDoc() {
var xmlhttp;
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) {
document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "YSMhome_LMeditform.php", true);
xmlhttp.send();
}
</script>
我可以让外部页面很好地加载到 DIV 中,而无需重新加载页面。我遇到的问题是:加载的页面需要是带有表单字段的表单。当用户从数据库中单击列表中的条目时,我需要将列表中的变量(让我知道他们单击了哪个条目)传递到正在加载到 DIV 中的外部页面,以便我可以预先填充带有正在发送的数据的表单字段。那是我无法弄清楚的部分。
如果有人可以帮助我,将不胜感激。我是 AJAX 的新手(这是我第一次尝试它),但我愿意学习我需要什么才能让它工作。