вызов jquery ajax не работает в IE 7 или 8, но работает в Firefox - PullRequest
1 голос
/ 21 августа 2009

Internet Explorer, похоже, игнорирует этот вызов функции ajax (ниже), но он отлично работает в FF?

Помогите кому-нибудь, пожалуйста ...

<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>

Ответы [ 2 ]

2 голосов
/ 21 августа 2009

if (strHTML == '

')

IE может использовать эти теги в верхнем регистре, делая его '

', что не соответствует.

Несмотря на то, что вы могли решить непосредственную проблему, выполнив «if (strHTML.toLowerCase () == ...», не стоит полагаться на вывод innerHTML браузера, поскольку вы не можете быть уверены, что его сериализация выиграла » делать неожиданные вещи, такие как пропуск конечного тега или добавление лишних пробелов.

Попробуйте, например, посмотреть, есть ли какой-нибудь элемент элемента imageвнутри заполнителя, используя что-то вроде:

if ($('#image-placeholder'+str+' img').length==0) {
    ...
}
0 голосов
/ 21 августа 2009

Вам не хватает 'i' в '<p><mg src="/images/catalog/items/', которое должно быть '<p><img src="/images/catalog/items/'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...