Jump to content
Fórum Script Brasil
  • 0

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


Silvio luis

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...