Creo que esta es la solución:
Me imagino que en el "head" de tu documento html tenés algo como esto:(Opción 1)
<script [size=14pt][i][b]type="text/javascript"[/b][/i][/size] src="aqui la ruta al archivo donde esta tu función buscar()"></script>
Ó podrías tener algo asi:(Opción 2)
<script [size=14pt][i][b]type="text/javascript"[/b][/i][/size]>
function buscar(){
var c = $("#cadena").val();
var cd = $("#ciudad").val();
var r = $("#categorias");
if(($.trim(c) == "") || ($.trim(cd) == "") || ($.trim(c) == "Nombre de la empresa o servicio")){
alert('Debes colocar una empresa o servicio a buscar.');
} else {
r.html("<br /><p align=\"center\"><img src=\"images/cargando.gif\" /></p>");
$.ajax({ type: "GET", url: "nav/buscar.php?cadena=" + c + "&ciudad=" + cd, cache: false, data: "", success: function(response){ r.html(response); $("#cadena").val("Nombre de la empresa o servicio"); $("#ciudad").val("Selecciona una ciudad"); } });
}
}
</script>
Y en el formulario tenes esto:
<form name="buscar_form" id="buscar_form" onsubmit="buscar(); return false;">
Tanto la opción 1 cómo la opción 2 funcionan en IE 8.
Quiero que prestes atención al atributo "TYPE", que me he encargado de remarcarlo en las dos opciones (1 y 2). Este atributo debe tener el valor "text/javascript" y NO el valor "application/javascript". Pareciera que por algún motivo IE 8 ignora a los script del tipo "application/javascript" o existe algún tipo de error que desconozco, lo importante de todo esto es que este atributo tenga el valor "text/javascript" para que funcione correctamente.
No estoy seguro si es la solución a tu problema, pero a mi me paso lo mismo que a vos y lo solucioné de esta forma.
De todas formas hace bastante que está este tema...lo respondo para aportar a la comunidad...
Espero que a alguien le sirva....Saludos!!