2009-08-21 213 views
1

Internet Explorer似乎忽略了这个ajax函数调用(下面),但它在FF中工作正常吗?jquery ajax调用不工作在IE 7或8,但在Firefox中工作

说明有人请...

<script type="text/javascript"> 
function ajax_request(PartNum,InText) { 
    var str=PartNum; 
    str=str.replace(".","_"); 
    strHTML = $('#image-placeholder'+str).html(); 
    if (strHTML == '<p></p>') 
    { 
     $('#image-placeholder'+str).html('<p><mg src="/images/catalog/items/'+PartNum+'.gif" /></p>'); 
      $('#text-placeholder'+str).html('<p>'+InText+'</p>'); 
    } 
     else 
     { 
     $('#image-placeholder'+str).html('<p></p>'); 
     $('#text-placeholder'+str).html('<p></p>'); 
     } 
} 

</script> 
+3

阿贾克斯我不?看不到ajax ...请澄清一下,你怎样调用这个函数? – Joel 2009-08-21 17:03:02

+0

我同意@Joel ... ajax请求在哪里?似乎是我们的onSuccess回调。 – localshred 2009-08-21 17:27:47

+0

我想这就是所有的语义问题,jQuery的调用不起作用在IE中,是更好的? – Lyle 2009-08-21 17:35:25

回答

2

如果(strHTML中== '< P> </P>')

IE可以大写那些标签为你,使其成为 '< P> </P>',它不不匹配。

虽然你可以通过做“如果(strHTML.toLowerCase()== ...”解决眼前的问题,它不依赖于浏览器的innerHTML输出,你无法确定它的序列中赢得了不错的主意“T例如做意想不到的事情一样省略结束标记或添加多余的空格

尝试看是否有使用类似的占位符内的任何< IMG>元素节点:

if ($('#image-placeholder'+str+' img').length==0) { 
    ... 
} 
0

你缺少 '我' 在'<p><mg src="/images/catalog/items/'应该'<p><img src="/images/catalog/items/'

+1

我怀疑这是一个错误,因为OP称它在Firefox中“有效”。 – Joel 2009-08-21 17:09:52

+1

我无法发布到这个网站任何图像标签,所以我把我出来张贴在这里 – Lyle 2009-08-21 17:23:32

相关问题