2009-07-07 6 views
0

は、私はこの問題を抱えているだろうと思ったことはありません:)はJQueryすべてのブラウザで問題なく、IE 6.0/7.0 :)

次のコードスニペットはIE 6.0/7.0が、他のブラウザ(まあ、IEのいずれにおいても動作します) "互換表示" で8.0:

$(document).ready(function(){ 

    // Search button code 
    $('#btnSearch').click(function() { //start function when button is clicked 
      var sid = $('#search_id').val(); 
      $.ajax({ 
        method: "get",url: "controller.php",data: { search_id:sid, action:'search'} , 
        beforeSend: function(){$("#loading").show("slow");}, //show loading just when link is clicked 
        complete: function(){ $("#loading").hide("slow");}, //stop showing loading when the process is complete 
        success: function(html){ //so, if data is retrieved, store it in html 
          $('.main_content').html(html); //show the html inside .main_content div 
          $('.main_content').show("slow"); //animation 
        } 
      }); 

      $("form").each(function() { 
        this.reset(); 
      }); 
    }); 
}); 

HTMLが(関連部分のみが含まれている)のようになります。

<div> 
<form id="srchForm" method="post" action=""> 
<p><abbr title="Search ID"><label for="search_id">Search ID:</label></abbr><input type="text" name="search_id" id="search_id"> 
<button id="btnSearch" value="search">go</button> 
</p> 
</form> 
<div id="loading">LOADING!!!!!!!!!!!!!!!!<br></div> 
<hr> 
<div id="main_content" class="main_content"></div> 
</div> 
<div> 
<div class="add_content"></div> 
</div> 

誰もが私が間違ってやって見つけることができますか?

+1

正確には機能しません。何が起こっていますか? – cletus

+0

Firefox JavaScriptコンソールでエラーが発生していますか? – MiffTheFox

+0

Firefox JavaScriptコンソールにエラーはありません。 – cnemelka

答えて

0

「ボタン」タグではなく、「入力」タグとしてボタンを定義できますか?

<input id="btnSearch" value="search" type="button" /> //Use this 
<button id="btnSearch" value="search">go</button> //instead of this 

変更があるかどうかを確認してください。

+0

野生のものは悪くない。それはそれを修正したようです。 本当にありがとうございます。ありがとうございます。ありがとうございます。 – cnemelka

+0

それは素晴らしいです。あなたのコードのリストでは、それは場所が違って見える唯一のコードなので、私の推測でした。 – SolutionYogi

0

、それがどのように見える簡単に見てから:

AJAX方式のデータプロパティは、JavaScriptのオブジェクトと文字列の両方を可能にするが、私はJSON文字列以外のものを使用して、任意の運を持っていたことがありません。 IEではJSON.Stringify()を使用できますが、JQueryプラグインのいくつかを見てください。たとえば、これは1 jquery-json

data: { search_id:sid, action:'search'} , 

はなるだろう。第二に

data: $.toJSON({ search_id:sid, action:'search'}) , 

$('.main_content').html(thml); 

それはあなたの代わりに 'HTML' の 'thml' を書きましたように見えます。

それ以外の場合は、コードが問題なく表示されます。

+0

ありがとうございます。 私は最初の提案を試みます。第二に、それは速いタイプミスでした。実際の変数名には情報が多すぎます:) – cnemelka

+0

これは間違っています。 jQueryはうれしいことにjavascriptオブジェクトをdataプロパティに取り込み、それに応じてシリアル化します。 http://docs.jquery.com/Ajax/jQuery.ajax#options –

+0

オブジェクトは許可されていますが、JSON文字列に変換せずに動作させることはできませんでした。それが働くのを助けるかもしれません。 – BAH