2009-08-21 6 views
1

Internet Explorer semble ignorer cet appel de fonction ajax (ci-dessous), mais il fonctionne très bien dans FF?jquery ajax appel ne fonctionne pas dans IE 7 ou 8, mais fonctionne dans Firefox

aider quelqu'un s'il vous plaît ...

<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 je don? Ne voyez pas l'ajax ... S'il vous plaît clarifiez Comment appelez-vous cette fonction? – Joel

+0

Je suis d'accord avec @Joel ... Où est la requête ajax? semble être notre callback OnSuccess. – localshred

+0

Je suppose que c'est une question de sémantique, l'appel jquery ne fonctionne pas dans IE, est-ce mieux? – Lyle

Répondre

2

if (strHTML == '< p> </p>')

IE peut en majuscules ces balises pour vous, ce qui rend ce < P> </P> ', qui fait ne correspond pas. Alors que vous pouvez résoudre le problème immédiat en faisant 'if (strHTML.toLowerCase() == ...', ce n'est pas une bonne idée de s'appuyer sur la sortie innerHTML d'un navigateur car vous ne pouvez pas être sûr que sa sérialisation a été gagnée « t faire des choses inattendues comme l'omission d'une balise de fin ou l'ajout superflu des espaces

Essayez par exemple de voir s'il y a un < img> nœud d'élément dans l'espace réservé à l'aide quelque chose comme:.

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

Il vous manque le 'i' dans '<p><mg src="/images/catalog/items/' devrait être '<p><img src="/images/catalog/items/'

+1

Je pense que c'est une faute de frappe puisque l'OP dit qu'il "fonctionne" dans Firefox. – Joel

+1

Je ne pouvais pas publier sur ce site des balises d'image, alors j'ai pris le i pour poster ici – Lyle

Questions connexes