Ir para conteúdo
Fórum Script Brasil
  • 0

Codigo funciona no IE e não no Firefox e Chrome


Silvio luis

Pergunta

ola, tenho um código que funciona no ie e não funciona nos demais navegadores

o erro é, ao selecionar um valor numa combo, ele abre a nova combo, e a combo que ele foi selecionado o valor, ficar carregando, ao invez de ficar visivel.

vejam no link abaixo, tanto no ie como firefox..

http://testesites.web200.uni5.net/request/teste.asp

att

silvio

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Dentro de todas as funções que você faz um request, adicione xmlhttp.onreadystatechange = null; logo antes do xmlhttp.open.

Parece que o IE e o Chrome triggam o "state change" em horas diferentes, e no Chrome ele está acontecendo ANTES de você definir qual a nova função a ser executada. Com isso ele executa uma função anterior e acaba bagunçando as coisas.

Ou sei lá o que está acontencendo lol, só sei que da forma que eu falei funciona =)

Link para o comentário
Compartilhar em outros sites

  • 0
Dentro de todas as funções que você faz um request, adicione xmlhttp.onreadystatechange = null; logo antes do xmlhttp.open.

Essa parte é a única que você precisa entender, lol. Você endenteu?

Ola, estou com o mesmo problema só que ao invés de usar xmlhttp.onreadystatechange = null; estava usando

xmlHttp.onreadystatechange=stateChangedC;

function stateChangedC(){
if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
document.getElementById("exibeCidade").innerHTML=xmlHttp.responseText
}
}
trocando ele trava. É um script para buscar o nome das cidades referente ao estado que for selecionado. Consegui fazer com que ele funcione em todos os navegadores, mas esta faltando algo pois somente no IE ele pega o valor da cidade selecionado nos outros navegadores ele não pega o valor da cidade. Se puderemos me ajudar, não consigo. Desde já, abradeço.
try{
xmlhttp = new XMLHttpRequest();
}
catch(ee){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E){
xmlhttp = false;
}
}
}

if (navigator.userAgent.indexOf("Firefox") != -1) {
xmlHttp=GetXmlHttpObject();
}

if (navigator.userAgent.indexOf("MSIE") != -1) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}

if (navigator.userAgent.indexOf("Chrome") != -1) {
xmlHttp=GetXmlHttpObject();
}

if (xmlHttp==null){
alert ("Este browser não suporta HTTP Request")
return
}
document.getElementById("exibeCidade").innerHTML='Carregando as cidades...'
var url="php/selecionaCidade.php"
url=url+"?uf="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChangedC
xmlHttp.open("GET",url)
xmlHttp.send(null)
}

function stateChangedC(){
if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
document.getElementById("exibeCidade").innerHTML=xmlHttp.responseText
}
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...