Jump to content

document.getElementsByTagName - não funciona no IE


pvalentim
 Share

Recommended Posts

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.

Link to comment
Share on other sites

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>

Link to comment
Share on other sites

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";

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

No <iframe> acrescenta também name="iframe_pagina" 😄

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Bah, experimenta usar document.getElementByName. Se não der no Firefox diz.

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Link to comment
Share on other sites

pois, assim nem no firefox funciona

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

Link to comment
Share on other sites

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>?

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

"Pensa positivo: tudo pode piorar"

Link to comment
Share on other sites

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>

Link to comment
Share on other sites

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....

"Pensa positivo: tudo pode piorar"

Link to comment
Share on other sites

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>

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.