我是php和javascript的新手。我正在处理一个有3组复选框和一个文本框的表单。当用户点击复选框时,会出现映射图像的弹出窗口。图像是地图。当用户点击某个城市时,文本框会被用户点击的任何城市填满,然后关闭。到目前为止,这是我被困的部分。当地图和表格使用我在网上找到的以下代码在同一页面上时,我可以使它工作:
<AREA SHAPE='POLY'
COORDS="340, 675, 340, 676, 335, 694, 339, 698, 348, 709, 332, 737, 334, 737, 336, 749,"
HREF="javascript:void(0);" onClick="document.forms['Form1'].Field1.value ='Honolulu'; return false;">
.....但是当这两个人在不同的页面上时,我遇到了问题。我能想到的解决方案是使用javascript变量并将其从图像映射发送到表单。听起来很可能,但无法弄清楚如何将同一个变量传递给不同的页面。
还有其他办法吗?
提前致谢!
答案 0 :(得分:0)
要将变量从一个页面传递到另一个页面,因为您已经在使用表单,所以可以使用GET
表单方法在页面之间传递变量。使用隐藏的input
元素:
<强> HTML:强>
<form method="get" action="nextpage.htm">
<map name="country">
<area shape='poly' coords="340, 675, 340, 676,
335, 694, 339, 698, 348, 709, 332, 737, 334,
737, 336, 749," href="#" id="Honolulu" />
</map>
<input type="hidden" value="" name="selected" id="selected" />
</form>
<强>使用Javascript:强>
var hidden = document.getElementById('selected');
var area = document.getElementsByTagName('area');
for (var i = 0; i < area.length; i++) {
area[i].onclick = function() {
hidden.value = this.id.charAt(0).toUpperCase() + this.id.slice(1);
return false;
}
}
此代码将使用area
元素的id来填充hidden
输入元素,同时将其大写(因为HTML不区分大小写)。请查看此问题的答案,了解如何在下一页上找回信息:Parse query string in JavaScript
如果失败,您可以随时使用cookies。