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

(Resolvido) Problema com alteração de URL via AJAX


prodrigo

Pergunta

Opa pessoal, desenvolvi um calendário em php, porem queria uma ajudinha para melhorar ele com ajax :wub:

O caso é o seguinte: eu criei o calendário e no topo dele queria por ex:

< Mes > < ano >

no qual " < " seria para diminuir um mes/ano e " > " seria para aumentar um mes/ano,

aonde entra o ajax nisso?

o calendário é criado numa pagina2.php através de GET, ou seja o ajax poderia puxar um calendario pronto

da outra pagina, atualizar a div, sem ser necessário atualizar toda página atual, e é ai que eu to com problema <_<

code que chama:

a página é chamada através da tag A (segue no fim do post todo code da pagina):

<a href="#" onclick="alteraURL('calendario.php?mes=9&ano=2009');">Exemplo</a>
Problema: Obtem o código fonte deste jeito:
<div class="datas"><a href="#" onclick="alteraURL('calendario.php?mes=9&amp;ano=2009&amp;mmes=dm');">&lt;</a> Setembro <a href="#" onclick="alteraURL('calendario.php?mes=9&amp;ano=2009&amp;mmes=mm');">&gt;</a></div>
Porem, queria obter assim:
<div class="datas"><a href="#" onclick="alteraURL('calendario.php?mes=9&ano=2009&mmes=dm');"><</a> Setembro <a href="#" onclick="alteraURL('calendario.php?mes=9&ano=2009&mmes=mm');">></a></div>
(mudou apenas no "onclick" e no nome dos links) Este é o probleminha :wacko: teria como "tratar" esse retorno do ajax? valeu ^_^ código ajax + principal.html
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
        <title>XMLHttpRequest</title>
        &lt;script language="javascript">
            var xmlhttp = getXmlHttpRequest();
            
            function getXmlHttpRequest() {
                if (window.XMLHttpRequest) {
                    return new XMLHttpRequest();
                } else if (window.ActiveXObject) {
                    return new ActiveXObject("Microsoft.XMLHTTP");
                }
            }
        
            function alteraURL(url){
                document.getElementById("carregando").innerHTML = "<img src='carregando.gif'>";
                xmlhttp.open("GET", url, true);
                xmlhttp.onreadystatechange = function(){
                    if (xmlhttp.readyState==4){
                        document.getElementById("urlContent").innerHTML = xmlhttp.responseText;
                        document.getElementById("carregando").innerHTML = "";    
                    }
                }    
                xmlhttp.send(null);
            }
        </script>
    </head>
<body bgcolor="#FFFFFF" text="#000000">
    <div id="carregando"></div>
    <div id="urlContent">
        <a href="#" onclick="alteraURL('calendario.php?mes=9&ano=2009');">Exemplo</a>
    </div>
</body>
</html>

Editado por prodrigo
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
Mas quais são as informações que dependem dessa data ?

Se for somente um calendário, o ideal é modificar apenas com JS e criar um formulário para que o usuário possa enviar a nova data no final.

é uma página de cobertura de eventos, o que queria fazer é com que se eu tiver digamos,

na página "eventos que fizemos", com o calendário aberto em 30/09/2009, e quiser ir para o dia 30/10/2009, seja possivel efetuar

a mudança apenas clicando em " < " ao lado do "setembro", ele vai ir ao calendario.php, executar uma sql nova para a data que a pessoa 'pediu'

e exibir o novo calendário...

Todo problema é que invez de na código fonte da calendario.php

que ta vindo ex:

&gt; &amp; &lt;

e não queria ter estes retornos, mas sim: "> & <" intende? :D

obrigado a atenção :rolleyes:

Editado por prodrigo
Link para o comentário
Compartilhar em outros sites

  • 0
Esse é o código HTML que representa os caracteres >, & e <, respectivamente.

É interessante deixar assim.

De qualquer forma, dê uma lida nos tópicos do repositório de scripts e na Lista de Cursos para a linguagem JavaScript

Hum... não teria como me ajudar então? :o

preciso muito arrumar tratar a resposta, tentei usar <meta> para unicode, etc, não obtive muitos bons resultados :wacko:

Link para o comentário
Compartilhar em outros sites

  • 0

Você já conseguiu fazer o resto e o problema está somente na codificação ?

Quando for transmitir dados via AJAX não é válido o uso de tag's html para modificar a codificação.

Na verdade não faz sentido você transmitir o código da página inteira com AJAX, visto que o a principal utilidade do mesmo é diminuir o trânsito de informações.

Link para o comentário
Compartilhar em outros sites

  • 0
Você já conseguiu fazer o resto e o problema está somente na codificação ?

Quando for transmitir dados via AJAX não é válido o uso de tag's html para modificar a codificação.

Na verdade não faz sentido você transmitir o código da página inteira com AJAX, visto que o a principal utilidade do mesmo é diminuir o trânsito de informações.

a calendario.php apenas vem assim:

<div id="calendario"> calendario aqui </div>

<div id="festasdodia"> festas que foram feitas em dia/mes/ano que ta visualizando </div>

e isto, atualiza ambos (festas, calendario) o problema, é que a codificação ta vindo "zoada" no "onclick" da tag <a> :unsure:

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