Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo Padovani

Combo

Recommended Posts

Olá, galera... Sou leitor do Imasters há um bom tempo, mas estou entrando agora no fórum...

 

Tô enfrentando um probleminha com um código pronto que adaptei: ele funciona perfeitamente no Firefox e no Opera, mas não no IE. Busquei ajuda em outros fóruns, mas ainda não obtive uma resposta. Quem sabe aqui, né? http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

 

Bom... segue o código original:

 

/* Ultimater's edited version of:   http://jibbering.com/2002/4/httprequest.html   to serve IE7 with XMLHttpRequest instead of ActiveX */var xmlhttp=false;if (!xmlhttp && typeof XMLHttpRequest!='undefined') {	try {		 xmlhttp = new XMLHttpRequest();	} catch (e) {		 xmlhttp=false;	}}/*@cc_on @*//*@if (@_jscript_version >= 5)// JScript gives us Conditional compilation, we can cope with old IE versions.// and security blocked creation of the objects.if (!xmlhttp){try {  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {  try {   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");  } catch (E) {   xmlhttp = false;  }}}@end @*/if (!xmlhttp && window.createRequest) {	try {		xmlhttp = window.createRequest();	} catch (e) {		xmlhttp=false;	}}/* Ultimater's edited version of:   http://javascript.internet.com/ajax/ajax-navigation.html */var please_wait = "Please wait...";function open_url(url, targetId) {  if(!xmlhttp)return false;	var e=document.getElementById(targetId);if(!e)return false;	if(please_wait)e.innerHTML = please_wait;	xmlhttp.open("GET", url, true);	xmlhttp.onreadystatechange = function() { response(url, e); }	try{	  xmlhttp.send(null);	}catch(l){	while(e.firstChild)e.removeChild(e.firstChild);//e.innerHTML="" the standard way	e.appendChild(document.createTextNode("request failed"));  }}function response(url, e) {  if(xmlhttp.readyState != 4)return;	var tmp= (xmlhttp.status == 200 || xmlhttp.status == 0) ? xmlhttp.responseText : "Ooops!! A broken link! Please contact the webmaster of this website ASAP and give him the following error code: " + xmlhttp.status+" "+xmlhttp.statusText;	var d=document.createElement("div");	d.innerHTML=tmp;	setTimeout(function(){	  while(e.firstChild)e.removeChild(e.firstChild);//e.innerHTML="" the standard way	  e.appendChild(d);	},10)}<table><tr><td valign=top width=150><H5>My Navagation links</H5><a href="java script:void(0)" onclick="open_url('page-1.html','my_site_content');">Go to page 1</a><br><a href="java script:void(0)" onclick="open_url('page-2.html','my_site_content');">Go to page 2</a><br><a href="java script:void(0)" onclick="open_url('page-3.html','my_site_content');">Go to page 3</a><br><a href="java script:void(0)" onclick="open_url('page-4.html','my_site_content');">Go to page 4</a><br><a href="java script:void(0)" onclick="open_url('xxxx.html','my_site_content');">Broken Link</a><br></td><td valign=top><div id="my_site_content"></div></td></tr></table>

A única coisa que fiz foi mudar as mensagens geradas pelo .js para o português e o nome das divs. Já o HTML, eu adaptei par o que segue:

 

<div id="xxx"><h3>Temas</h3><select name="temas">	<option selected>Escolha o tema</option>	<option onclick="open_url('../blablabla/pagina_1.html','yyy');">Fulano de Tal 1</option>	<option onclick="open_url('../blablabla/pagina_2.html','yyy');">Fulano de Tal 2</option>	<option onclick="open_url('../blablabla/pagina_3.html','yyy');">Fulano de Tal 3</option>	<option onclick="open_url('../blablabla/pagina_4.html','yyy');">Fulano de Tal 4</option>	<option onclick="open_url('../blablabla/pagina_5.html','yyy');">Fulano de Tal 5</option></select></div><div id="yyy"></div>

Como eu disse, funciona bonitinho no FF e Opera... só no IE que não aparece nada. Será que alguém pode me ajudar e me apontar o que falta pra funcionar? Agradeço imensamente!!!! Grande abraço!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ao inves de usar no onclick da opção, tente criar uma função no onchange do SELECT que verifique qual a opção escolhida e aí sim chame a função open_url

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que é isso :]

 

function carrega(opt) {  open_url('../blablabla/pagina_' + opt + '.html','yyy');}

<select name="temas" onchange="carregar(this.options[this.selectedIndex].value)">	<option selected>Escolha o tema</option>	<option value="1">Fulano de Tal 1</option>	<option value="2">Fulano de Tal 2</option>	<option value="3">Fulano de Tal 3</option>	<option value="4">Fulano de Tal 4</option>	<option value="5">Fulano de Tal 5</option></select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.