0

混乱のポイントに達する

いくつかの入力要素と検索ボタンを作成しています。以前に HTML を使用していたため、要素を作成して含める必要があると考えるようになりました。

しかし、Google マップで正しい場所を表示するために、JavaScript 以外の場所にデータを送信することはできません。

私は自分自身を混乱させることができました。と s を含む要素が必要ですか? 問題は、テストまたは検索ボタンのいずれかを押すと、ページがリロードされることです。

ページをリロードしたくありません。これを起こさないようにする唯一の方法は、要素を削除することです。これは正しくないと感じています。可能であれば、適切なプラクティスを使用することに関心があります。

これは私のコードです:

       <form id="maps_form">
         <fieldset id="search_maps">
           <label for="marker">Search Shop: </label>
    <input name="searchName" id="searchName" type="text" placeholder="Enter Shop Name">

         </fieldset>
         <fieldset id="map_buttons">
            <button id="test"> test</button>
                <button id="searchSomething">Search</button>
          </fieldset> 
    </form>

このjavascriptを学習し、jqueryに浸り、xmlを学習しているときに、htmlの基本を忘れているように感じます:sこれは通常、新しい言語を学習しているときに連絡を失うことですか?

4

3 に答える 3

2

クリック/送信ハンドラーが false を返さない場合、ページはリロードされます。したがって、次の場合にページが更新されます。

  1. JavaScript リスナーが正しく登録されていない場合
  2. Javascript ハンドラーが true を返す
  3. Javascript ハンドラーが原因でエラーが発生しています (開発コンソールでエラーを確認してください)
于 2012-04-28T09:28:25.753 に答える
0
$("#maps_form").submit(function () {
    // do stuff

    return false; // Don't submit the form
});
于 2012-04-28T09:31:21.730 に答える
0

そんなことは絶対にしないでください!false を返した後のアクションが多すぎる場合、次のページへの移動を妨げません。

$("#maps_form").submit(function () {

    // do stuff

    return false; // Don't submit the form
});

これは正しい形式です:

$("#maps_form").submit(function (event) {
    event.preventDefault();

    ... 
});
于 2012-04-28T09:41:36.937 に答える