0

私が直面している問題は次のとおりです。アドレスを入力してキーボードの[Enter]をクリックすると、ページが再読み込みされます。進行は「google.maps.Geocoder()。geocode()」の前に自動的に停止します。キー「Enter」がポストバックを引き起こし、ジオコーダーコールバック関数が終了する前にマップをリセットしているようです。

以下に関連するメソッドを記述した場合、「store-search-street」は私のtextFiledです。

   $('#store-search-street').keyup(function(e){
       storeLocator.updateMap();
       storeLocator.fire('sl:store-locator-search')
       return false;
    });

次に、アドレスをテキストフィールドにコピーすると、geocode()を実行でき、すべて問題ありません。ただし、「Enter」キーは含まれていません。

コードを以下に変更して「ENTERをクリックしてアドレスを送信」にしたとき

 $('#store-search-street').keyup(function(e){
    if (e.keyCode == 13) {
       storeLocator.updateMap();
       storeLocator.fire('sl:store-locator-search')
       return false; }
    });

geocode()deoseは機能しません。誰かが私がこの問題を解決するのを手伝ってくれる?ありがとう!

4

1 に答える 1

0

詳細を取得するためにフォームを使用していると思います。

通常、フォームはどこにも行かずにスクリプトを起動するだけでなく、Web サイトに情報を投稿します。

そのフォームの送信 (Enter キーを押す) をキャッチし、それを抑制して、代わりにスクリプトが実行されるようにする必要があります。

<form id="postcodeEntry" method="post" action="/" onsubmit="some_javascript_function";return false;">

「onsubmit」をスローして、フォームの送信をキャッチします。

于 2013-02-28T07:32:23.330 に答える