Posts filed under 'Javascript'

Arrumar problema de acentuação em retorno de AJAX

Para quem já se deparou com caracteres estranhos no conteúdo retornado por uma função AJAX, a solução é bastante simples.

Se você utiliza PHP como linguagem, inclua no início do arquivo que você chamou via include() a seguinte linha:
header('Content-type: text/html; charset=iso-8859-1');

No meu caso, como tenho um arquivo com a minha classe php, e algumas funções mandam outros headers, deu aquele problema de que outro header já tinha sido enviado. Para contornar este problema alterei diretamente no apache.

Editei o arquivo /etc/apache2/conf.d/charset :
vim /etc/apache2/conf.d/charset
E inseri esta linha no final do arquivo:
AddDefaultCharset ISO-8859-1

Restartei o apache e funcionou corretamente.

Espero que este pos seja útil.

Add comment Setembro 28, 2009

Plugins do Firefox que facilitam o desenvolvimento web

Estes são os plugins do Firefox que utilizo hoje. (no Ubuntu)

Firebug

Web Developer

ColorZilla

Dica sobre o ColorZilla:
ixe os binários do site mozilla.com, e copie “por cima” dos arquivos do firefox que já vem instalado no ubuntu (isto vale tanto para a versão 1.5.* quanto para a versão 2.0 do firefox)

cd

tar zxvf [arquivo_binario_firefox].tar.gz

sudo cp ./firefox/* /usr/lib/firefox

Fonte da dica: http://revolucao.etc.br/archives/versao-definitiva-do-mozilla-firefox-20-disponivel-para-download-agora-mesmo/

Add comment Fevereiro 16, 2008

Solução para problema de style.top e style.left no Firefox

Você criou uma div bonitinha dinamicamente via Javascript, setou altura e tudo mais dinamicamente, para ficar perto de um elemento qualquer na página, e funcionou no Internet Explorer mas no Firefox não? Simples, é só setar a unidade de medida. Sem a unidade de medida o Internet Explorer interpreta como px(pixels), mas o Firefox não.

Exemplo:

function CriarDiv(fComponenteQueChamou)
{
var nova_div = document.createElement('div');
var corpo = document.getElementBytagName('body);
with( nova_div )
{
style.top = fComponenteQueChamou.offsetTop+20;
style.left = fComponenteQueChamou.offsetLeft+10;
innerHTML += 'Um texto qualquer';
style.backgroundColor = 'red';
style.position = 'absolute';
}
corpo[0].appendChild(nova_div);
}

O exemplo acima funciona maravilhosamente bem no Internet Explorer, mas no Firefox não.

Para funcionar no Firefox altere as seguintes linhas:

style.top = fComponenteQueChamou.offsetTop+20+'px';
style.left = fComponenteQueChamou.offsetLeft+10+'px';

Pronto…funcionando certinho no IE e no Firefox.
Eu usei a criação de div’s dinâmicas em um recurso de busca incremental. Outro dia posto um passo-a-passo sobre como criar uma busca incremental utilizando JSON. Muito legal.

Atualização do artigo: Resolvi colocar aqui a solução de um problema que muitos desenvolvedores enfrentam. Se você utilizar offsetTop em um elemento dentro de uma table, ele retorna o top em relação ao table, e não em relação à página.
Um exemplo: Vamos imaginar que você quer posicionar uma div bem aonde o usuário clicou dentro de uma tabela:

Exemplo da tabela:

<table>
<thead>
<th>Coluna1</th>
</thead>
<tbody>
<tr>
<td onclick="PosicionaDiv(this);"> Conteudo da coluna 1</td>
</tr>
</tbody>
</table>

E a função javascript será essa:

function PosicionaDiv(fOwner)
{
var minha_div = document.getElementById('minha_div') ;
var altura_da_celula = fOwner.offsetTop;
var altura_da_tabela = fOwner.parentNode.parentNode.parentNode.offsetTop ;
minha_div.style.top = (altura_da_celula+altura_da_tabela)+'px'
}

Qualquer dúvida é só postar aí nos comentários.

2 comments Fevereiro 11, 2008

Pegando texto de select com Javascript (combobox)

Para pegar o texto do item que o usuário selecionou, é só fazer:


var meu_select= document.getElementById('meu_select');
alert( combo_filtro_manual.options[combo_filtro_manual.selectedIndex].text );

Se quiser pegar o valor do item utilize:

var meu_select= document.getElementById('meu_select');
alert( combo_filtro_manual.options[combo_filtro_manual.selectedIndex].value);

10 comments Julho 26, 2007


Categorias

Categorias

Apache2 Diversão Firebird Javascript Linux mysql Outros PHP Voip

Posts recentes

twitter.com/troliveira