与IE9

2012-04-02 42 views
0

jQuery的AJAX空白页的问题这在Firefox和Chrome,但在IE失败。它确实在警报中显示结果,但该页面在IE中仅为空白。我没有得到任何类型的Firebug错误,所以我无法确定这个问题。任何人都可以在我的最后发现任何明显的错误...或知道解决方法吗?与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 2012-04-02 16:26:58

+0

还请提供php脚本'newmlbcompare2.php',以便我们可以看到您尝试插入到您的#ajaxDiv中的HTML。 – Stefan 2012-04-02 17:34:44

+0

@Stefan。我试图插入表格数据 – relyt 2012-04-02 17:53:01

回答

0

正如@GeoffWarren指出的,在我的表结构的错误正在返回。一旦我修复它在IE中的工作。

感谢所有谁花时间看。

Kyle

1

尝试改变$('#ajaxDiv').html(result);$('#ajaxDiv').append(result);

显然IE可能有一些问题的.html()jQuery API

+0

这并不能说明他的问题,_“它确实表明导致警报,但网页是空白的IE浏览器。” _ – Sparky 2012-04-02 16:31:05

+0

@ Sparky672:?是的,警报有效(所有浏览器)。但在#ajaxDiv上调用.html()在IE中不起作用。但正如杰夫所说,也许.append()将起作用。 – Stefan 2012-04-02 17:29:41

+0

我试过.append(),但它仍然是空白的。 – relyt 2012-04-02 17:52:14

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的上线160 警告:行司通过在/home/fantasyp/public_html/autographaddict.com/huhTest/includes/compare_funcs.php零182 – Stefan 2012-04-02 19:29:19

+0

是。我修好了它。我在表格结构中发现了一个错误。为了调试目的,我打开了php错误。感谢您花时间看!我很感激。 – relyt 2012-04-02 19:36:33

+0

@rett:欢迎,并祝网站好运。 – Stefan 2012-04-02 19:55:24

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 2012-04-02 18:45:47

+0

你能帮我一个忙吗?请粘贴提醒的结果。也请结果变量的typeof。另外,你可以检查在ie9中调试控制台并粘贴结果。这是一个奇怪的,我真的很好奇。 – Fresheyeball 2012-04-02 21:25:51

+0

抱歉,延迟响应。最后,我的桌子变形了(错过了一个关闭)。一旦解决了,一切都按预期工作。 – relyt 2012-04-05 00:12:18