Php 使用映射图像填充表单中的文本框
我不熟悉php和javascript。我正在制作一个有3组复选框和一个文本框的表单。当用户单击复选框时,将弹出一个映射图像的弹出窗口。图像是一张地图。当用户单击某个城市时,文本框将填充用户单击的任何城市,然后关闭。到目前为止,这是我被绊倒的部分。当地图和表单位于同一页面时,我可以使用我在网上找到的以下代码使其工作:Php 使用映射图像填充表单中的文本框,php,javascript,html,Php,Javascript,Html,我不熟悉php和javascript。我正在制作一个有3组复选框和一个文本框的表单。当用户单击复选框时,将弹出一个映射图像的弹出窗口。图像是一张地图。当用户单击某个城市时,文本框将填充用户单击的任何城市,然后关闭。到目前为止,这是我被绊倒的部分。当地图和表单位于同一页面时,我可以使用我在网上找到的以下代码使其工作: <AREA SHAPE='POLY' COORDS="340, 675, 340, 676, 335, 694, 339, 698, 348, 709, 332, 737,
<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变量,并将其从图像映射发送到表单。听起来可能,但无法理解如何将同一变量传递到不同的页面
还有别的办法吗
提前谢谢 要将变量从一个页面传递到另一个页面,因为您已经在使用表单,所以可以使用GET form方法在页面之间传递变量。使用隐藏的输入元素可能: HTML: Javascript: 这段代码将使用area元素的id来填充隐藏的输入元素,同时将其大写,因为HTML不区分大小写。查看此问题的答案,了解如何在下一页获取信息:
否则,您可以随时使用 谢谢你的回复。这是可行的,但会打开一个新窗口。为了清楚起见,我需要将变量发送到上一个窗口,而不是下一个窗口。而且,我应该能够做多次。我尝试做的是类似于弹出式日历,但不是一个日历,而是出现一个映射图像,用于填充表单中的字段。事实上,我开始意识到,这要么是不可能的,要么是我有点不知所措。哈哈。谢谢。@eggman你可以,可以想象,在页面中使用ajax将信息传递给服务器,然后再传递回另一个页面,但这确实是一个很大的麻烦。也许你可能会考虑重新构建这个表单的架构来不必这么做?是的,我觉得对于像我这样的新手来说太多了。我会尽力解决这个问题……无论如何,谢谢你的帮助。我很感激。。。
<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>
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;
}
}