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

pvalentim

[Resolvido] Linkar para uma iframe usando função Java Script

14 mensagens neste tópico

Boa tarde

Quero abrir uma página numa iframe da página actual chamada iframe_pagina.

Quero usar uma função de JavaScript que me vai abrir uma página mediante o item seleccionado numa caixa de combinação.

Estou a usar o seguinte código que abre a página que quero mas numa página inteira.

<script>

function func_pagina(){

    var texto

    var indice = document.formul.paginas.selectedIndex

    var valor = document.formul.paginas.options[indice].value

    var caminho=valor+"/pag.htm"

    window.open(caminho);

}

</script>

.....

<form name="formul">

  <select size="1" name="paginas">

<option value="pag1">Página 1</option>

<option value="pag2">Página 2</option>

    </select>

  <input type="submit" value="Visualizar" name="B1" onclick="func_pagina()"></p>

</form>

.....

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

em vez de usares window.open(caminho); usa:

document.getElementsByTagName("iframe").src = caminho;

EDIT: Corrigi o código.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pela resposta.

Mas não está a dar.

Não abre coisa nenhuma.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pela resposta.

Mas não está a dar.

Não abre coisa nenhuma.

Tens que ter um <iframe> aberto na página :P
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não é document.getElementsByTagName();?? Isso (acho eu) retorna um array com todos os elementos especificados, não? talvez um document.getElementById(); seja mais apropriado...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta por um id no <iframe>, e no javascript algo assim do género:

...
document.getElementById('<id do iframe>').src = caminho;
...

Vê la se isso funciona...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não é document.getElementsByTagName();??

Sim, é isso :P Já corrigi o meu post
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Está dificil.

Isto não dá.

Já experimentei:

document.getElementById('iframe_id').src = caminho;

document.getElementByTagName("iframe_pagina").src = caminho;

document.getElementsByTagName('iframe_id').src = caminho;

Tenho a iframe definida desta forma:

<iframe id= iframe_id name="iframe_pagina" ....

Sei que o caminho está correcto porque a linha  window.open(caminho)  funciona.

 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estás aí com uma grande confusão. Experimenta:

document.getElementsByTagName('iframe')[0].src = caminho;
// ou
document.getElementById('iframe_id')[0].src = caminho;

O primeiro vai procurar o primeiro <iframe>, o segundo vai-te procurar a primeira tag com id="iframe_id" :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

atenção que o id e o name da iframe devem ser o mesmo... o ie procura por um e os outros browsers pelo outro...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom isto está a tomar forma. De facto o código já está a carregar uma página quando escolho uma opção na caixa pendende, só que é sempre a mesma página (a página inicial).

Tenho o código desta forma:

<script>

function func_pagina(){

    var texto;

    var indice = document.formul.paginas.selectedIndex;

    var valor = document.formul.paginas.options[indice].value;

    var caminho=valor+"/pag.htm";

    document.getElementsByTagName('iframe')[0].src = caminho;

}

</script>

....

<form name="formul">

<select size="1" name="paginas">

<option value="pag1">Página 1</option>

<option value="pag2">Página 2</option>

  </select>    </font>

  <input type="submit" value="Visualizar" name="B1" onclick="func_pagina()"></p>

</form>

......

<iframe id= "iframe_pagina" name="iframe_pagina" src=pag1/pag.htm

width="95%" height="565" target="middle" marginwidth="1" marginheight="1" align="baseline" style="background-color: #FFFFFF" scrolling="no" border="0" frameborder="0" >Iframe

</iframe>

.....

Onde raio é que está o erro?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Põe o botão como button, e não submit. Ele assim sempre que clicas vai submeter o form, uma vez que não tens nenhuma action definida, vai para a própria página. Basicamente faz um refresh á página, daí aparecer sempre a mesma página. Digo eu.

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