点击显示iframe

时间:2012-04-01 08:39:16

标签: java ajax

我有一张地图,您可以点击位置获取该区域的信息,我想在点击时在同一页面的iframe中显示该信息

我的页面现在有链接

`<AREA SHAPE="CIRCLE" COORDS="555,142,6" HREF="http://www.Page.com" TITLE="" />`

任何建议

1 个答案:

答案 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">&nbsp;</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.";
?>

希望这有帮助!