使用映射图像填充表单中的文本框

时间:2010-09-24 23:51:31

标签: php javascript html

我是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变量并将其从图像映射发送到表单。听起来很可能,但无法弄清楚如何将同一个变量传递给不同的页面。

还有其他办法吗?

提前致谢!

1 个答案:

答案 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