0

我有一个带有一个输入元素的表单,它通过邮寄从最后一页获取其值,如下所示:

<form action="http://localhost/maps_en2/next-page" method="POST">
    <input name="srchZoom" type="hidden" value="<?php if( isset($_POST['srchZoom']) ) echo $_POST['srchZoom']; ?>">
    <input type="submit" class="buttonForLink" value="next page"/> | 
</form>

此表单旨在用作链接。

我需要能够在 mapIdle 事件之后更改元素的值,然后在点击链接时将新值发布到下一页。

所以我这样做:

function mapIdle(){
    document.getElementsByName("srchZoom").innerHTML = map.getZoom();
}

我检查了一下,确实在 mapIdle 事件之后元素的值发生了变化。
我通过单击一个触发它的按钮来检查它:

alert(document.getElementsByName("srchZoom").innerHTML);

问题是当点击链接时,表单会发布元素的原始值,而不是函数设置的值mapIdle()

4

2 回答 2

0
 document.getElementsByName("srchZoom")

返回数组(getElements - 复数)。因此,使用 document.getElementsByName("srchZoom").innerHTML 您将属性 innerHTML 添加到该数组中。你应该把它改成

document.getElementsByName("srchZoom")[0].value = map.getZoom();

更改名称为srchZoom的第一个元素的值。

于 2012-09-16T15:52:27.950 回答
0

我认为你应该使用“value”而不是“innerHTML”:

function mapIdle(){
    document.getElementsByName("srchZoom").value = map.getZoom();
}
于 2012-09-07T08:25:51.113 回答