未发布表单中元素的更改值

时间:2012-09-07 08:22:21

标签: javascript html google-maps dom post

我有一个带有一个输入元素的表单,它通过post从最后一页获取其值, 像这样:

<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();
}

我chechked确实在mapIdle事件之后,元素的值发生了变化 我点击了一个触发此按钮的按钮检查了它:

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

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

 document.getElementsByName("srchZoom")

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

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

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