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

Script Ajax não funciona no Firefox


felps

Pergunta

Eu fiz um código simples, só pra começar a aprender ajax, só que não funciona no firefox. Alguém poderia me ajudar com isso?

Index.html

<html>
    <head>
        <script type="text/JavaScript">
            var request = null;
            function createRequest(){
                try{
                    request = new XMLHttpRequest();
                }catch(trymicrosoft){
                    try{
                        request = new ActiveXObject("Msxml2.XMLHTTP");
                    }catch(othermicrosoft){
                        try{
                            request = new ActiveXObject("Microsoft.XMLHTTP");
                        }catch(failed){
                            request = null;
                        }
                    }
                }
                
                if(request == null)
                    alert("Erro");
            }    

            function getWord(){                
                createRequest();
                var url = "script.php";                
                request.open("GET", url, true);                    
                request.onreadystatechange = updatePage;                
                request.send(null);                
            }
            
            function updatePage(){            
                if(request.readyState == 4){                
                    if(request.status == 200){                        
                        var tex = request.responseText;    
                        document.getElementById("texto").value = tex;
                    }
                }
            }
            </script>
    </head>
    <body>
        <form>
            <input type="text" name="texto" id="texto" />
            <button onclick="getWord();">Enviar</button>
        </form>
    </body>
</html>
script.php
<?php
    
    echo "Palavra";

?>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Eu fiz um código simples, só pra começar a aprender ajax, só que não funciona no firefox. Alguém poderia me ajudar com isso?

Index.html

<html>
    <head>
        &lt;script type="text/JavaScript">
            var request = null;
            function createRequest(){
                try{
                    request = new XMLHttpRequest();
                }catch(trymicrosoft){
                    try{
                        request = new ActiveXObject("Msxml2.XMLHTTP");
                    }catch(othermicrosoft){
                        try{
                            request = new ActiveXObject("Microsoft.XMLHTTP");
                        }catch(failed){
                            request = null;
                        }
                    }
                }
                
                if(request == null)
                    alert("Erro");
            }    

            function getWord(){                
                createRequest();
                var url = "script.php";                
                request.open("GET", url, true);                    
                request.onreadystatechange = updatePage;                
                request.send(null);                
            }
            
            function updatePage(){            
                if(request.readyState == 4){                
                    if(request.status == 200){                        
                        var tex = request.responseText;    
                        document.getElementById("texto").value = tex;
                    }
                }
            }
            </script>
    </head>
    <body>
        <form>
            <input type="text" name="texto" id="texto" />
            <button onclick="getWord();">Enviar</button>
        </form>
    </body>
</html>
script.php
<?php
    
    echo "Palavra";

?>

Olá,

Coloquei um return false, <button onclick="getWord(); return false;">Enviar</button>, assim não atualiza a URL,

para mim funcionou assim..

Link para o comentário
Compartilhar em outros sites

  • 0
Mas por que será que acontece isso?

A tag button no firefox é interpretada como um input type='submit'. Logo, ele envia o formulário. Como o seu form não tem um action definido, o firefox envia o formulário para a própria página, dando a impressão que é um refresh.

Use input type='button' ao invés de button e seu problema estará resolvido, sem a necessidade do return false.

Editado por fiote
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...