2009-08-21 142 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

相關問題