0

次のように、投稿によって最後のページから値を取得する1つの入力要素を持つフォームがあります。

<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

「innerHTML」の代わりに「値」を使用する必要があると思います。

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