2011-12-19 12 views
2

Index.aspxに次のコードブロックがあります。ボタンをクリックすると、ページがリロードされ、何も表示されません(空のページ)。何も返さないjQueryの.load()関数

<div class="filter_block"> 
       <span>Show</span> 
       <a href="#"><span class="title">full shedulle</span></a> 
       <a id="buttonFindFilmByName" class="active"><span class="title">films name</span></a> 
       <script type="text/javascript"> 
        $(document).ready(function() { 
         $("#buttonFindFilmByName").click(function() { 
          $('#listInfoBlock').load('cinema/filmlist'); 
         }); 
        }) 
       </script> 
      </div><!-- .filter_block--> 

      <div id="listInfoBlock" class="list_infoBlock">   

      </div><!-- .list_infoBlock--> 
+0

firebug/javascriptコンソールには何も表示されますか? – JohnP

答えて

5

それは、ユーザがa(リンク)HTML要素をクリックする標準ブラウザの動作ですので、あなたのページがリロードされます。

あなたがクリックハンドルでパラメータを使用してpreventDefault method呼び出すことで、このデフォルトの動作を停止することができます:clickハンドラ関数からfalseを

$("#buttonFindFilmByName").click(function(e) { 
    e.preventDefault(); 
    .... 
+0

うーん、何も変わらない。 – user348173

+0

javascriptエラー? –

+0

ああ、申し訳ありません、それは仕事です。ルーティングが正しく設定されていませんでした。ありがとう。 – user348173

1

戻るリンクをたどるしていないブラウザを伝えるために。これにより、JavaScriptをサポートしていないブラウザ、またはユーザがオフにした場合に、hrefに実際のリンクを設定することもできます。

$(document).ready(function() { 
    $("#buttonFindFilmByName").click(function() { 
    $('#listInfoBlock').load('cinema/filmlist'); 
    return false; // <====== FIX 
    }); 
}); 
+0

'false'を返す[避けてください](http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/)。 –

+0

それを知らなかった。ヘッドアップをありがとう。 jQueryがこれをサポートしていないIE6/7用の互換性レイヤーを提供するかどうかはどうですか? – kichik

+1

IEの場合は、 'event.returnValue = false'を使用する必要があります[回答](http://stackoverflow.com/questions/1000597/event-preventdefault-function-not-working-in-ie-any-help) 。 –

関連する問題