Ir para o conteúdo
pvalentim

document.getElementsByTagName - não funciona no IE

Mensagens Recomendadas

pvalentim    0
pvalentim

Boa tarde

Ora bolas para isto.

Como muita gente utiliza o Internet Explorer preciso de fazer isto:

<select size="1" id="idSelect" name="D2">

<option onclick="document.getElementsByTagName('iframe')[0].src = 'pag1/pag.htm'">Página 1</option>

que funciona no Firefox, de forma a que funciona também no IE.

Obrigado.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pvalentim    0
pvalentim

Estou a usar numa função:

function tratar_botao_esq(){

    var num=document.getElementById("idSelect")

    switch (num.selectedIndex)

{

case 1:

document.getElementsByTagName('iframe')[0].src = "pag1/pag.htm";

    num.selectedIndex=0;

break;

.....

E funciona tanto no firefox como no IE

Mas assim não funciona no IE e funciona no firefox:

<select size="1" id="idSelect" name="D2">

  <option onclick="document.getElementsById('iframe')[0].src = 'pag1/pag.htm'">Página 1</option>

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

Atribui um id ao <iframe> (id="iframelolz") e depois em vez de document.getElementsByTagName('iframe')[0].src = "pag1/pag.htm"; usa:

document.getElementById('iframelolz').src = "pag1/pag.htm";

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pvalentim    0
pvalentim

Já fiz isso.

<option onclick="document.getElementById('iframe_pagina').src = 'pag1/pag.htm'">Página 1</option>

Continua a não funcionar no IE e a funcionar no firefox.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pvalentim    0
pvalentim

Não está fácil, não funciona.

Recapitulando.

O select está assim:

<option onclick="document.getElementById('iframe_pagina').src = 'pag1/pag.htm'">Página 1</option>

A iframe está assim:

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pvalentim    0
pvalentim

pois, assim nem no firefox funciona

<option onclick="document.getElementByName('iframe_pagina').src = 'pag1/pag.htm'">Página1x</option>

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

pois, assim nem no firefox funciona

<option onclick="document.getElementByName('iframe_pagina').src = 'pag1/pag.htm'">Página1x</option>

E manteste o name="" no <iframe>?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pvalentim    0
pvalentim

Pois, manti.

<option onclick="document.getElementByName('iframe_pagina').src = 'pag2/pag.htm'">Página 2</option>

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jreis    0
jreis

O evento onclick não existe no IE nas options... poe mas é um onchange(); no select, e modifica a função de acordo com isso...

EDIT: correcção de uma pequena bacorada.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pvalentim    0
pvalentim

Mas tenho de usar uma função então.

Não posso usar isto:

<option onchange="document.getElementsByTagName('iframe')[0].src = 'pag1/pag.htm'">Página 1</option>

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jreis    0
jreis

Tens de por isso no <select, qualquer coisa tipo isto:

<select onchange="document.getElementByTagName('iframe')[0].src = this.options[this.selectedIndex].value+'/pag.html';">
<option value="pag1">Página 1</option>
<option value="pag2">Página 2</option>
...
</select>

Penso que assim deve resolver, não testei mas deve dar.

Edit: faltava uma barra. E lembrei-me, se assim não der, experimenta alterar esta parte:

(...)this.options[this.selectedIndex].value(...)

para:

(...)this.Options[this.selectedIndex].value(...)

não me lembro se o option é com "o" grande ou pequeno....

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pvalentim    0
pvalentim

Obrigado pela ajuda.

Jreis, esse código com esse cídog também não me safei.

Acabei por resolver com uma função.

function func_pagina(){

    var valor=document.getElementById("idSelect").value;

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

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

}

.....

<select size="1" id="idSelect" name="D1" onchange="func_pagina()">

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

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

</select>

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade