Popular select dinamicamente

Arquivado em: Javascript — dia 21/02/2008, às 21h08min

Código para popular dinamicamente uma select (combo) em HTML com javascript.

 <select id=”teste” onchange=”alert(this.options[this.selectedIndex].value);”>
</select>

Tendo os seguintes vetores como conteúdo:

var vetTexto = new Array ( “Cem”, “Duzentos”, “Trezentos”, “Quatrocentos”, “Quinhentos”); 
var vetValues = new Array ( 100, 200, 300, 400, 500); 

Basta um FOR para varrer os vetores e ir inserindo os labels e values com o método add():

for (x=0; x<vetLabel.length; x++) {  
       novo = document.createElement(”OPTION”);
       novo.text = vetTexto[x];
       novo.value = vetValues[x];
       document.getElementById(’teste’).options.add(novo);
 }

Problemas ao chamar Javascript via Flash

Arquivado em: Javascript, Flash — dia 25/01/2008, às 11h29min

Certa vez tive dores horríveis de cabeça ao chamar uma função javascript dentro do Flash. Não havia nada que fizesse funcionar. No actionscript, tudo muito simples e tudo certo:

on (release) {
getURL(”javascript:funcao()”);
}

A função JS estava declarada no HTML do .swf e aparentemente não havia nada que impedisse meu simplório filme de rodar corretamente. Só depois de muito bater cabeça, estava de bobeira e joguei no servidor os arquivos. Ao fazer um teste, tudo funcionou lindamente. Descobri que localmente não funciona a chamada de Javascript pelo Flash.

Por que? Sei lá. Mas fica aqui relatado pra quem estiver com o mesmo problema e parar por estas bandas.

Tô vivo!!!

Arquivado em: Uncategorized — dia 18/01/2008, às 20h36min

Upa!! Escrevo pra noticiar que estou vivo e bem, apesar de nunca mais ter postado. Segue foto que eu tirei na frente do prédio onde tô trabalhando. Valeu pela visita!Carlos Gomes 222

Feliz ano novo!!!

Arquivado em: Variedades, Ô massa — dia 31/12/2007, às 13h55min

E aí!!

Último dia do ano, hora de fazer uma reflexãozinha sobre os 365 dias que se passaram e planejar a grande etapa que se inicia. Mas nada de ficar se lamentando pelo que não deu certo ou poderia ter sido melhor. Muito menos planejar diabruras que não poderão se concretizar no ano que começa. Certo é agradecer por tudo de bom que houve e criar pequenas metas que sejam fáceis de serem alcançadas.

Existe muito a ser comemorado. Existe muito por acontecer. Que em 2008 fique tudo bem com todos. Paz e saúde.

O que não deu certo, paciência,  ”Cada minuto que passa é uma nova chance de recomeçar…” Se for preciso, recomece !!!

FELIZ 2008!

Arquivado em: Ô massa — dia 28/12/2007, às 20h16min

Passando por diversas situações dificeis nos últimos meses, encontrei na oração alento para meus problemas. Aliás, reencontrei, pois há tempos vivia vazio de fé. Rezei uma novena sugerida em um folderzinho com Jesus estampado e prontamente tive retorno. Deus é grande, posso lhes garantir.

 Deixo aqui a frase que havia no rodapé da novena.

Aprendei de mim que sou manso e humilde de coração e encontrareis descanso para vossas vidas. (Mateus 11:29)

Quase de férias!!!

Arquivado em: Universitariedades — dia 07/12/2007, às 19h17min

Redes de ComputadoresVenho aqui fazer meu singelo agradecimento ao Sr. Andrew Stuart Tanenbaum, que redigiu o colossal livro “Redes de Computadores” de trocentas e poucas páginas e que me ajudou em muito na disciplina homônima do meu curso. A felicidade só não é completa pois peguei exame em outra disciplina. Mas vai dar tudo certo e a partir de segunda-feira é férias até março.

Agora só falta mais uma disciplina presencial e os trabalhos de conclusão do curso. Já consigo ver a luz no fim do túnel!!!

Tenho umas dicas massa pra passar, assim que der um tempinho, posto. Valeu pela visita!!

No ar 50 anos de vida

Arquivado em: TV, Aventuras, Variedades, Ô palha — dia 16/11/2007, às 15h14min

No ar 50 anos de vidaNão pude emendar a sexta-feira com o feriado da proclamação da república (quinta), então fiquei em Porto Alegre pra descansar e conhecer um pouco da cidade. Estava por terminar a Exposição “No ar 50 anos de vida” do Grupo RBS e parecia ser uma boa pedida pra passar o dia. Depois do almoço, tomei algumas cervejas e me mandei sozinho, aos trancos e barrancos, pra Usina do Gasômetro.

Ao desembarcar do bus no Mercado, fiquei impressionado com as ruas vazias, completamente diferente da quermesse que se forma naquela redondeza nos dias normais. Pensei comigo: “Come on!! Tá todo mundo na praia ou com o rabo em casa, além do mais a exposição já está funcionando há uns quantos meses, todo mundo já deve ter visto. Será praticamente uma visita privativa!!”. Engano meu. Acho que o centro estava vazio porque todos estavam na enorme fila que se formava em frente a chaminé da Usina…

A exposição em si é muito bonita e interessante. Pena que pra mim o que ficou mais marcado foi o show de má-educação que o povo deu lá dentro. Todo mundo se empurrando, furando fila na maior cara de pau, não respeitando os espaços, se atravessando na sua frente enquanto você está assistindo ou lendo alguma coisa… enfim, com 15 minutos enfurnado naquela penumbra eu só pensava em sair e voltar pra casa.

Por fim, acabei entrando na onda do tumulto e fiquei lá quase a tarde toda, distribuindo cotovelaços e trombadas. Não sairia de lá sem ver tudo. Mas me custou caro a visita: ao final da tarde estava exausto, com torcicolo e morto de fome. Sai de lá praguejando, por entre a fila que inacreditávelmente era ainda maior do que quando chegara e os vagabundos que por ali pediam esmola. Fim melancólico pra uma tarde que tinha tudo pra ser ô massa.

Amanhã

Arquivado em: Tecnologia, Variedades, Ô massa — dia 27/10/2007, às 15h23min

Recentemente ajudei a implementar um blog muito interessante, mantido pela Assessoria de Comunicação da Universidade de Santa Cruz do Sul. O objetivo é divulgar ações que visem um amanhã sustentável em todos os sentidos. O blog foi feito a partir de customização da ferramenta Wordpress, a mesma desse blog que você está visitando e uma das melhores e mais completas implementações free disponíveis na web.

Vale a visita: http://www.unisc.br/amanha

Iframe dinâmico no IE e no Firefox!!!

Arquivado em: Javascript, Tecnologia — dia 15/10/2007, às 21h25min

Com a diversidade de navegadores que existem hoje, fazer com que uma determinada página apareça e funcione exatamente igual em diferentes browsers pode tornar-se uma tarefa penosa, ainda mais quando se está trabalhando com Javascript e CSS.

Há alguns dias precisei criar um menu que seria atualizado manualmente e que deveria constar em todas as páginas de um site estático, embutido em um iframe. Era desejável que as dimensões deste iframe se ajustassem automaticamente à medida que mais itens fossem adicionadas ao menu.

A solução mais prática seria criar um item de biblioteca do Dreamweaver, mas a idéia era não criar dependência do uso de uma ferramenta.

Para resolver essa parada encontrei ótimas referências em diversos fóruns, blogs e sites da web e até que foi rápido. Testei no IE e ficou beleza. O brabo foi quando testei no Firefox… ele simplesmente não conseguia obter a altura do iframe com o atributo .offsetHeight.

A partir de então comecei uma busca desenfreada por alguma dica que me ajudasse a encontrar algum método equivalente e que funcionasse em ambos. Depois de algum tempo, finalmente fiz funcionar no Firefox. Só que aí no IE não funcionava. PQP!

Infelizmente a solução foi fazer uma rotina que detecte o navegador do visitante e então execute comandos diferentes para obtenção dos mesmos resultados. Posto aqui o código, pra quem está com dificuldades não precisar perder tanto tempo quanto eu perdi para resolver isso.

Na página que abrigrará o iframe, ele é declarado assim:

<div id=”divMenu”>
<iframe src=”menu.html” id=”ifr” scrolling=”no” frameborder=”0″ marginheight=”0″ height=”100%”>
</div>

em seguida, criei um .js para armazenar as duas funções criadas para esta tarefa.
menu.js:

function detectaBrowser() {
if (navigator.appName.toLowerCase().indexOf(’microsoft internet explorer’) > -1)
return(’ie’);
else
if (navigator.appName.toLowerCase().indexOf(’netscape’) > -1)
return(’firefox’);
}

function ajustaIframe() {
browser = detectaBrowser();
if (browser == ‘firefox’) {
var tamanho = parent.document.getElementById(”ifr”).contentDocument.body.scrollHeight;
parent.document.getElementById(”ifr”).style.height = (tamanho+10)+’px’;
parent.document.getElementById(”Div_Menu”).style.height = (tamanho+60)+’px’;
} else {
if (browser == ‘ie’) {
var tamanho = document.getElementById(”container”).offsetHeight;
parent.document.getElementById(”ifr”).style.height = tamanho+30;
parent.document.getElementById(”Div_Menu”).style.height = tamanho+70;
}
}
}

É interessante perceber que para setar as dimensões de uma DIV via javascript diretamente no estilo deve-se concatenar o tamanho com “+ px” para que redimensione corretamente no Firefox.

/* IE: */
document.getElementById(”Div”).style.height = 400;
/* firefox: */
document.getElementById(”Div”).style.height = 400 + ‘px’;

Por fim, temos o arquivo menu.html, que é o próprio iframe:

<html>
<head>
<script language=”javascript” src=”js/menu.js” mce_src=”js/menu.js”></script>
</head>
<body onLoad=”ajustaIframe()”>

<div id=”container”>
<a href=”link1.html” mce_href=”link1.html” target=”_parent”>Link01</a>
<a href=”link2.html” mce_href=”link2.html” target=”_parent”>Link02</a>
<a href=”link3.html” mce_href=”link3.html” target=”_parent”>Link03</a>
<a href=”link4.html” mce_href=”link4.html” target=”_parent”>Link04</a>
<a href=”link5.html” mce_href=”link5.html” target=”_parent”>Link05</a>
<a href=”link6.html” mce_href=”link6.html” target=”_parent”>Link06</a>
</div>

</body>
</html>

Meu sobrinho

Arquivado em: Variedades, Ô massa — dia 08/10/2007, às 20h59min

Meu sobrinho Cassiano

Next Page »