我有一张地图,您可以点击位置获取该区域的信息,我想在点击时在同一页面的iframe中显示该信息
我的页面现在有链接
`<AREA SHAPE="CIRCLE" COORDS="555,142,6" HREF="http://www.Page.com" TITLE="" />`
任何建议
答案 0 :(得分:2)
AJAX的优点在于你并不需要IFRAME
才能做到这一点。
您有一台服务器会向您返回有关某个区域的信息。每个AREA
代码只需要一个onclick
属性,该属性调用JavaScript函数来检索该信息并将其显示在您在页面上留出的位置。
以下是一个示例HTML页面,它将使用AJAX从服务器检索信息
<html>
<head>
<script type="text/javascript">
function getAreaInfo(id)
{
var infoBox = document.getElementById("infoBox");
if (infoBox == null) return true;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState != 4) return;
if (xhr.status != 200) alert(xhr.status);
infoBox.innerHTML = xhr.responseText;
};
xhr.open("GET", "info.php?id=" + id, true);
xhr.send(null);
return false;
}
</script>
<style type="text/css">
#infoBox {
border:1px solid #777;
height: 400px;
width: 400px;
}
</style>
</head>
<body onload="">
<p>AJAX Test</p>
<p>Click a link...
<a href="info.php?id=1" onclick="return getAreaInfo(1);">Area One</a>
<a href="info.php?id=2" onclick="return getAreaInfo(2);">Area Two</a>
<a href="info.php?id=3" onclick="return getAreaInfo(3);">Area Three</a>
</p>
<p>Here is where the information will go.</p>
<div id="infoBox"> </div>
</body>
</html>
这是info.php,它将信息返回给HTML页面:
<?php
$id = $_GET["id"];
echo "You asked for information about area #{$id}. A real application would look something up in a database and format that information using XML or JSON.";
?>
希望这有帮助!