Bom dia pessoal,
Estou desenvolvendo um site em ASP+Javascript. Em uma das páginas, existe um código que busca informações no banco e retorna sem dar refresh, isso obviamente, com ajuda do Javascript.
O problema que estou enfrentando é que isso funciona em praticamente todos os navegadores, exceto no Firefox… Ao exibir os erros, percebi que o Firefox não “entende” document.all
Procurei no google e encontrei este post:
http://www.guj.com.br/java/222275-documentall-no-firefox
No post acima, o amigo charlesbraw resolve o problema de forma simples. Mas, não consegui implementar a solução no meu caso. Por isso, gostaria da ajuda de vocês. Segue abaixo meu código com o maldito document.all (ou maldito firefox?)…
[code]<script type=“text/javascript”>
// A função abaixo pega a versão mais nova do xmlhttp do IE e verifica se é Firefox. Funciona nos dois.
function createXMLHTTP()
{
try
{
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
try
{
ajax = new ActiveXObject("Msxml2.XMLHTTP");
alert(ajax);
}
catch(ex)
{
try
{
ajax = new XMLHttpRequest();
}
catch(exc)
{
alert("Seu navegador não tem recursos para uso do Ajax.");
ajax = null;
}
}
return ajax;
}
var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP",
"Microsoft.XMLHTTP"];
for (var i=0; i < arrSignatures.length; i++) {
try {
var oRequest = new ActiveXObject(arrSignatures[i]);
return oRequest;
} catch (oError) {
}
}
throw new Error("MSXML is not installed on your system.");
}
function RetornaDestinos(periodorota)
{
var oHTTPRequest = createXMLHTTP();
oHTTPRequest.open("post", "retorna_destinos.asp", true);
oHTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
oHTTPRequest.onreadystatechange=function() {
if (oHTTPRequest.readyState==4){
document.all.exibedestino.innerHTML = oHTTPRequest.responseText;
}
}
oHTTPRequest.send("periodorota=" + periodorota);
}
function RetornaRotas(destinorota)
{
var oHTTPRequest = createXMLHTTP();
oHTTPRequest.open("post", "retorna_rotas.asp", true);
oHTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
oHTTPRequest.onreadystatechange=function() {
if (oHTTPRequest.readyState==4){
document.all.exiberotas.innerHTML = oHTTPRequest.responseText;
}
}
oHTTPRequest.send("destinorota=" + destinorota);
}
</script>[/code]
OBS: Sou novo no forum, até coloquei minha duvida no post acima, mas não sei se ele já está resolvido, por isso resolvi criar um novo tópico…
Desde já agradeço e fico no aguardo,
Eder Pardeiro