• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

marinheiro

[resolvido] função num li para chamar ficheiro...

5 mensagens neste tópico

estou a colocar uma chamada de js numa linha de um list, de modo a que, quando se carrega no link, o conteudo de uma dita página seja carregada dentro de uma div...

função:

function carrega(pagina) {
   document.getElementById('conteudo').innerHTML=pagina;
}

chamada:

<li onclick=carrega("principal.php")><a href="#">Inicio</a></li>

o que me está a acontecer é que, em vez de colocar o conteudo dentro da div, está-me a escrever "principal" dentro da div...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois, é precisamente isso que a tua função faz, mostra na div o argumento passado... Para mostrar o conteúdo do ficheiro dessa forma vais ter de usar um pouco de limpa-vidros AJAX...

assim de repente, usando jquery:

function carrega(pagina)
{
    url = pagina;
    $.post(url, function(pedido) { $('#conteudo').html(pedido);});
}

Assim penso que deve dar...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tive de alterar só um pouco para fazer uma chamada a um callback e já ficou a funcionar ;)

tenho mesmo de me agarrar a sério ao limpa-vidros para perceber como funcemina :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu acho que sim, dá mesmo muito jeito, nem só para "apaneleirar" (passo a expressão) os sites, há muitas coisas que simplesmente não é viavel fazer de outra forma... Anyway, se tiveres com ideias de aprender isso, experimenta ver o jquery e prototype, tem muita documentação e tutoriais nos respectivos sites. Pessoalmente recomendo a jquery, se bem que tem um funcionamento um bocado mais complexo (como biblioteca em geral, em termos de AJAX é aquilo que se vê, dá pra fazer pedidos numa linha de código!)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tava a ler este artigo (bem porreiro), e reparei na função load();, que para este caso é o ideal:

function carrega(pagina)
{
   $('#conteudo').load(pagina);
}

Pedido e tratamento dos dados por XHR numa linha de código... há coisas fantásticas!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora