2012-04-02 6 views
0

これはFirefoxとChromeでは機能しますが、IEでは失敗します。それはアラートの結果を表示しますが、ページはIEでは空白です。私はFirebugのエラーを何も得ていないので、問題を特定することはできません。誰でも私の最後にどんな荒いエラーを見つけてもいいですか...回避策を知っていますか?jQuery AJAX IE9での空白ページの問題

ありがとうございました。

$("#compareit").submit(function(e){ 
    $("#topsection").hide(); 
    $("#tabs").hide(); 
    $("#bottomWrap").hide(); 
    $("#error").html(''); 
    $("#leftcolumn").hide(); 
    $("#rightcolumn").hide(); 
    e.preventDefault(); 
    var queryString = $('#compareit').serialize(); 
    var dataString = queryString + "&count=" + totalselected; 

    $.ajax({ 
     type: 'GET', 
     url:'newmlbcompare2.php', 
     cache: false, 
     data: dataString, 
     success:function(result){ 
      $('#ajaxDiv').html(result); 
      // This alerts the HTML block that is being returned (in all browsers) 
      //alert(result); 
     } 
    }); 
    return false; 
}); 

リクエストに応じてHTMLが追加されました。

<div id="maincontainer"> 

<div id="topsection"><div id="topImage"></div></div> 

<div id="contentwrapper"> 
<div id="contentcolumn"> 
<div class="innertube"> 
<div id="compareWrapper"> 

<form name="compareit" id="compareit" action=""> 
<input type="hidden" value="2011" name="year" id="year" /> 
<div id="tabs"> 
    <ul> 
     <li><a href="#tabs0">C</a></li> 
     <li><a href="#tabs1">1B</a></li> 
    </ul> 
    <div id="tabs0"> 
     <select multiple id="C" name="playArray[]" class="tabStyle" size="10"> 

      </select> 
     </div> 
    <div id="tabs1"> 
     <select multiple id="FB" name="playArray[]" class="tabStyle" size="10"> 

      </select> 
     </div> 
</div> 
    <div id="bottomWrap"> 
     <div id="instructions"><b>Players:</b> Select up to four players.</div> 
     <div id="added_players" align="center" class="added_players"></div> 
     <div id="error" class="err"></div> 
    </div> 

</div> 

<div id='start'></div> 
</form> 
<div id="ajaxDiv"></div> 

</div> 
</div> 

<div id="leftcolumn"> 
<div class="innertube"> 
<div id="accordionLeft"> 

</div> 
</div> 
</div> 

<div id="rightcolumn"> 
<div class="innertube"> 
<div id="accordionRight"> 

</div> 
</div> 
</div> 
+0

関連付けられた関連するHTMLコードはどこですか?どのようにして問題を再現できますか? http://sscce.org/ – Sparky

+0

また、あなたの#ajaxDivに挿入しようとしているHTMLを確認できるように、PHPスクリプト 'newmlbcompare2.php'も提供してください。 – Stefan

+0

@Stefan。私は表形式のデータを挿入しようとしています – relyt

答えて

0

@GeoffWarrenで述べたように、返された私のテーブル構造に誤りがありました。いったん私はそれがIEで動作することを固定しました。

誰もが時間をかけて見てくれてありがとう。

カイル

1

$('#ajaxDiv').append(result);$('#ajaxDiv').html(result);を変更してみてください:私はいくつかのスペースを節約するために切り捨てられました。

どうやらIEは(.htmlを持ついくつかの問題を持つことができます)jQuery API

+0

それは彼の問題を説明していません、_ "アラートの結果を表示しますが、IEのページは空白です"#_ – Sparky

+0

@ Sparky672:?はい、アラートは機能します(すべてのブラウザ)。しかし、IEで#ajaxDivの.html()を呼び出すことはできません。しかし、Geoffが言っているように、おそらく.append()がうまくいくでしょう。 – Stefan

+0

私は.append()を試しましたが、まだ空白です。 – relyt

0

可能性...?これを変更します。これに

<div id="compareWrapper"> 

<form name="compareit" id="compareit" action=""> 

を:

<form name="compareit" id="compareit" action=""> 

<div id="compareWrapper"> 
+0

@relyt:FirefoxとIE 8の両方で私にとってはうまくいくようですが、IEでは次のような警告が表示されます。警告:/home/fantasyp/public_html/autographaddict.com/huhTest/includes/compare_funcsのゼロ除算。 PHP on line 160 警告:/home/fantasyp/public_html/autographaddict.com/huhTest/includes/compare_funcs.php行182のゼロ除算 – Stefan

+0

はい。それを私が直した。テーブル構造に誤りがありました。私はデバッグの目的でPHPエラーを有効にしました。見る時間をとってくれてありがとう!それは有り難いです。 – relyt

+0

@relyt:ようこそ、サイト運営に恵まれています。 – Stefan

0
$.ajax({ 
    type: 'GET', 
    url:'newmlbcompare2.php', 
    cache: false, 
    data: dataString, 
    dataType: "html", //try adding this 
    success:function(result){ 
     $('#ajaxDiv').html(result); 
     // This alerts the HTML block that is being returned (in all browsers) 
     //alert(result); 
    } 
}); 
+0

投稿していただきありがとうございます。私はdataTypeを指定しようとしましたが、まだ動作させることができません。 – relyt

+0

あなたは私に恵まれますか?アラートの結果を貼り付けてください。また、結果変数の型にもしてください。また、ie9でコンソールをデバッグして結果を貼り付けることもできます。これは奇妙なもので、私は本当に興味があります。 – Fresheyeball

+0

遅れて申し訳ありません。それは私のテーブルが不正な形になってしまった(閉鎖がない)。それが修正されると、すべてが期待どおりに機能しました。 – relyt