Posts Tagged Jquery
Como fazer mais em aplicações RIA escrevendo menos
Posted by jaydson in Javascript, Jquery on 18 de novembro de 2009
Quando falamos em aplicações RIA utilizando Javascript, logo pensamos em uma biblioteca que nos auxilie na construção dessas aplicações.
Dentre uma infinidade de bibliotecas e frameworks existentes atualmente, o jQuery continua sendo minha alternativa preferida.
Sua simplicidade e ao mesmo tempo robustez proporcionam diversas funcionalidades indispensáveis no desenvolvimento de uma aplicação rica.
Juntamente com o Felipe Nascimento, palestrei na Target Trust (empresa de TI especializada em treinamentos aqui em Porto Alegre) nesta terça-feira(17/11/2009) sobre a biblioteca jQuery.
O objetivo da palestra foi introduzir o jQuery de maneira que os ouvintes pudessem compreender o poder da biblioteca e do Javascript em si.
Quem teve a oportunidade de acompanhar a palestra conheceu um pouco da história do jQuery, sua origem e também ver as inúmeras possibilidades e funcionalidades.
Abaixo então seguem os slides:
Javascript levado a sério
Posted by jaydson in JSON, Javascript, Jquery, Palestras on 23 de outubro de 2009
Javascript é a linguagem de script mais popular da internet.
Porém, mesmo com toda essa fama, o Javascript ainda é incompreendido.
Segundo Douglas Crockford, um dos mestres da linguagem, essa incompreensão tem varias origens.
Este foi um dos tópicos na palestra que fiz na III Mostra de iniciação científica do Senac-RS.
Javascript – Problema com Evento Change
Posted by jaydson in Browsers, Javascript, Jquery on 14 de outubro de 2009
Semana passada deparei-me com um problema no Internet Explorer (Déjà vu).
A funcionalidade que precisavamos implementar era bem simples:
Verificar se o formulário foi alterado. Ou seja, se o usuário está na página e resolve simplesmente sair e o formulário foi alterado, precisavamos alerta-lo.
O que me ocorreu na hora foi utilizar o Evento change do <form>.
Leia o resto desse post »
Capturar erros Ajax com jQuery
Posted by jaydson in Javascript, Jquery, Jquery-Plugins on 15 de setembro de 2009
Capturar erros Ajax é mais uma tarefa que o jQuery nos da uma boa ajuda.
O que quero dizer com isso é que a biblioteca nos fornece uma série de informações úteis que as vezes passam desapercebidas pelos desenvolvedores.
A primeira coisa a se notar é o evento error.
Neste evento podemos passar uma função(callback) que será executada quando a requisição falhar. São passados 3 parâmetros para esta função:
O objeto XMLHttpRequest, uma String que descreve o tipo do erro que aconteceu e um objeto exceção(opcional).
Uma boa observação é que nunca teremos o evento Success e o evento Error juntos na mesma requisição(meio óbvio isso).
Serializando um formulário com jQuery
Posted by jaydson in Javascript, Jquery on 14 de junho de 2009
Buenas pessoal!
Hoje vim falar sobre um dos métodos que acho bem interessante no Jquery, o serialize().
Como o próprio nome já diz, esse método serializa um conjunto de inputs de um formulário em uma string.
Essa string é padronizada e compatível com a maioria das linguagens server-side.
Isso é muito útil por exemplo quando queremos enviar uma série de dados para o servidor com Ajax.
Como fazer?
Bom, começamos criando o formulário:
Gradient – Jquery Plugin
Posted by jaydson in Javascript, Jquery, Jquery-Plugins on 20 de maio de 2009
Javascript é realmente uma linguagem de programação muito poderosa. Não falo isso só por ser apaixonado pela linguagem, mas sim por diariamente programar Javascript e ver o seu poder.
Frameworks ajudam claro, mas não se esqueçam que no fundo é tudo o mais puro e belo Javascript.
Na lista do Jquery que participo, seguido vejo algumas pessoas equivocadamente confundindo um pouco isso, mas isso fica pra um próximo Post.
Flip! Jquery Plugin
Posted by jaydson in Javascript, Jquery, Jquery-Plugins on 10 de maio de 2009
Mais um da série de plugins testados e avaliados.
Particularmente eu achei esse plugin muito legal!
Ele aplica um efeito de Flip em um elemento HTML. Ai vai da imaginação e criatividade do desenvolvedor para implementa-lo em seu sistema.
A idéia é aquela básica do Jquery, pouquissímas linhas, e um efeito impressionante.
Estou esperando o momento certo e a idéia surgir para usa-lo em algum sistema…
Vamos ver como fica o código:
<script type="text/javascript">
$(document).ready(function () {
$(".home").click(function () {
$("#flipBox").flip({
direction: 'bt',
color: 'blue',
speed: 400,
content: ""
});
});
$(".home").trigger("click");
});
</script>
Simples não?
No click do elemento com a classe “home” invocamos o método flip() que aplica esse efeito no elemento com Id “flipBox”.
Obs: $(“.home”).trigger(“click”) só faz com que a animação aconteça no load da página.
Aqueles parâmetros são interessantes:
- direction: Especifica em que direção vai ser o giro. Os valores suportados são ‘tb’, ‘bt’, ‘lr’, ‘rl’
- color: Define que cor de fundo o elemento terá após o giro.
- speed: A velocidade da animação
- content: O conteúdo que esse elemento terá após o giro.
Fora essas opções, ainda existem funções que podemos executar em algum evento do giro, como por exemplo:
- onBefore: Essa função é executada antes da animação começar.
- onAnimation: Essa função é executada na metade da animação.
- onEnd: Essa função é executada quando a animação termina.
Com esses eventos e opções podemos fazer muita coisa. A opção content por exemplo permite que seja passado um conteúdo que será exibido no elemento após a animação, então nada nos impede de carregar um conteúdo com Ajax e jogar dentro desse elemento. O céu é o limite.
Vejam o resultado:
Minha Avaliação: Nota 10.0
Compatibilidade: Firefox 2.0+, IE 6+, Safari 3.0+, Chrome 2.0+,Opera
Site oficial do Plugin: http://lab.smashup.it/flip/
Autocomplete – Jquery Plugin
Posted by jaydson in Javascript, Jquery, Jquery-Plugins on 9 de maio de 2009
Um recurso muito bom que podemos aplicar em nossos Sistemas é o Autocomplete.
Isso ajuda muito o usuário na hora de selecionar uma opção. Além de ser visualmente mais agradavél, este recurso faz com que apenas apareçam as opções de acordo com o que é digitado no campo.
Imaginei a situação onde o usuário precisa selecionar um determinado valor em um <selectbox>. O porém é que esse campo será populado com centenas de valores. É extremamente ruim ter que ficar procurando a opção correta em uma lista enorme de opções.
O que esse plugin nos proporciona é uma forma simples de implementar um campo do tipo Autocomplete.
O exemplo que preparei é bem simples, mas mostra o poder deste plugin(um dos melhores que já usei).
O que vamos fazer é um script PHP que retorne os Posts aqui do Blog. Segue o código abaixo do arquivo search.php:
<?php
$items = array(
'Text Area Resizer - JQuery Plugin'=>'1',
'Text Limiter - Jquery Plugin'=>'2',
'Plugins Jquery'=>'3',
'theWebMind.org'=>'4',
'Hacks CSS'=>'5',
'Json'=>'6',
'PHP - Problema ao carregar a DLL php_pgsql.dll'=>'7',
'RichBlocks - Um Framework Para Implantar Interfaces RIA em Sistemas Web'=>'8',
'PHP Classes'=>'9',
'RIA - Aplicacoes Ricas para Internet'=>'10',
'Campanha Atualize o seu Navegador'=>'11',
'Internet Explorer 8'=>'12',
'Projeto PHP Counter'=>'13',
'Jquery'=>'14'
);
foreach ($items as $key=>$value){
echo "$key|$value\n";
}
?>
Note que neste código eu montei “na mão” um array de Posts. Mas nada me impediria de ter feito uma consulta no banco de dados e ter montado o array dinâmicamente. Isso serve para qualquer situação.
Bom, já temos os dados que precisamos para popular o campo de Autocomplete.
Basta criar um campo do tipo <input> com uma ID especifica. No meu ficou assim:
<body> <p> <label style="font-family:verdana; font-weight:bold; font-size:18px;"> Posts Jaydson.org: </label> <br> <input style="width:300px;" type="text" id="posts" /> </p> </body>
Agora que já temos o HTML, vamos implementar o Plugin.
O que deve ser feito é informar qual <input> será capaz de se autocompletar, desta forma:
<script type="text/javascript">
$().ready(function() {
$("#posts").autocomplete("search.php", {
width: 440,
scrollHeight: 220,
selectFirst: true
});
})
</script>
Desta maneira, o <input id=”posts”> receberá o conteúdo da página PHP que criamos anteriormente.
Nota: O Plugin ainda possui uma série de opções que podem ser especificadas além de width, scrollHeight e selectFirst .
Veja o resultado:
Minha Avaliação: Nota 10.0
Compatibilidade: Firefox 2.0+, IE 6+, Safari 3.0+, Chrome 2.0+
Site oficial do Plugin: http://docs.jquery.com/Plugins/Autocomplete
Text Area Resizer – JQuery Plugin
Posted by jaydson in Javascript, Jquery, Jquery-Plugins on 7 de maio de 2009
Seguindo o Post anterior, vamos continuar com campos de texto.
Quando desenvolvemos um formulário onde existem vários campos a preencher, muitas vezes ocorre de um <textarea> que poderá conter “N” caracteres ficar expremido, com um tamanho inferior ao texto que receberá. Por padrão quando isso acontece, o <textarea> cria uma barra de rolagem.
Mas para quem está digitando isso não é muito agradável, pois a medida que se escreve, o texto acima desaparece.
O Google Chrome já implementou uma solução para isso, assim como o Safari. Por padrão os campos do tipo <textarea> nesses Browsers possuem uma opção de Resize. Desta maneira, o usuário tem autonomia sobre o <textarea>, podendo redimensiona-lo de forma a ficar do seu gosto.
Mas e quanto ao Firefox e IE?
Bom, esses Browsers ainda não possuem essa funcionalidade, então o que vamos fazer é implementar um Plugin que faz algo semelhante.
Novamente seguindo a filosofia “Write Less, Do More” do Jquery, o necessário para adicionar esta funcionalidade em nossos <textareas> é apenas uma linha:
$('textarea.resizable(.processed)').TextAreaResizer();
O que esta linha faz?
Bom, bem simples de entender. Todos os <textareas> com a classe “resizable” terão a funcionalidade de redimensão.
Nota: O Plugin aplica a funcionalidadede redimensão apenas na altura.
Vamos ver o Plugin em ação:
Minha Avaliação: Nota 8.0
Compatibilidade: Firefox 2.0+, IE 6+, Safari 3.0+, Chrome 2.0+
Obs: Apesar de funcionar no Safari e no Chrome, não faz sentido algum aplicar isso para estes Browsers, pois como expliquei acima, estes já possuem tal funcionalidade.
Site oficial do Plugin: http://plugins.jquery.com/project/TextAreaResizer
Text Limiter – Jquery Plugin
Posted by jaydson in Javascript, Jquery, Jquery-Plugins, RIA, TheWebMind on 5 de maio de 2009
O primeiro Plugin Jquery da série que selecionei foi o Text Limiter – Jquery Plugin.
Como o próprio nome já diz, o que o Plugin faz é limitar um campo de texto a “N” caracteres.
Isso é muito útil, pois em qualquer formulário que fazemos sempre tem algum campo que precisa ser validado desta forma.
Para sua implementação nada mais do que uma linha de código é necessária, veja no exemplo abaixo:
$("textarea[maxlength]").textLimiter();
Neste exemplo, o que o Plugin faz é varrer todos inputs <textarea> e aplicar a restrição se baseando no atributo “maxlength”.
Nota: O atributo maxlength não é padrão em um elemento <textarea> assim como em um elemento <input>.
Para mais detalhes sobre o elemento <textarea> acesse http://www.w3schools.com/TAGS/tag_textarea.asp
Se no seu formulário existem vários elementos <textarea>, mas para cada um deles existe uma validação de tamanho diferente, o que pode ser feito é especificar o ID do elemento, ficando então:
$("#meu_textarea1[maxlength]").textLimiter();
$("#meu_textarea2[maxlength]").textLimiter();
$("#meu_textarea3[maxlength]").textLimiter();
Neste exemplo o Plugin aplicará a restrição de acordo com o atributo “maxlength” de cada <textarea> identificado pela ID.
Para um elemento do tipo <input>, não há nada de diferente dos exemplos anteriores, basta especificar a ID, ou varrer todos elementos:
$("#meu_input1[maxlength]").textLimiter();
$("#meu_input2[maxlength]").textLimiter();
O elemento <input> por padrão tem o atributo maxlength. Então se for especificado algum tamanho (Ex: maxlength=10) , mesmo sem utilizar o Plugin, este campo será limitado a este valor.
A vantagem de usar o Plugin é que ele incrementa essa restrição visualmente, mostrando a quantidade de caracteres restantes para tal elemento.
Exemplo:
Minha Avaliação: Nota 8.0
Compatibilidade: Firefox 2.0+, IE 6+, Safari 3.0+, Chrome 2.0+
Site oficial do Plugin: http://www.burobjorn.nl/code/textlimiter/
