HÃĄ cada dia mais utilizamos serviços disponÃveis na web que tem um plano bÃĄsico e gratuito que permite integraçÃĩes. Nos Últimos meses tenho feito formulÃĄrios com frequÊncia usando uma abordagem bem simples. Vou mostrar agora como criar um formulÃĄrio responsivo, integrando com MailChimp e usando jQuery Validate.
O HTML
Vamos criar o formulÃĄrio da seguinte maneira:
Ver demo sem style.
O CSS
Para cada label e input foi adicionado uma div.input para inserir uma formataçÃĢo por grupo.
O form estÃĄ centralizado com max-width:
Por ser um elemento âblockâ, vamos definir o tamanho mÃĄximo que ele pode ter.
O grupo div.input com 50% em âwidthâ do form:
Os labels:
O label.error ÃĐ gerado pelo jQuery validate e adicionado seguido dos campos.
Os campos:
Formatamos os campos para ter 100% de tamanho do elemento pai âdiv.inputâ.
Sempre que redimensionar nÃĢo haverÃĄ quebras, portanto, responsivo meu amigo.
Agora um capricho para resoluçÃĩes pequenas.
Ver demo com style.
O jQuery + MailChimp
Com o HTML e CSS prontos, vamos adicionar o JavaScript que ÃĐ fÃĄcil. Como dependemos do jQuery e nÃĢo podemos iniciar de qualquer forma, segue uma estrutura bem legal:
Como sabemos exatamente qual funçÃĢo vai executar quando a jQuery carregar, adicionaremos o jQuery Validate no init:
Agora que estamos validando todos os campos, que tal adicionar um ajax para deixar nosso formulÃĄrio bem suave e uma funçÃĢo para exibir mensagens de sucesso ou erro, veja:
Via âsubmitHandlerâ do jQuery Validate, vamos disparar por ajax todos os dados preenchidos e travar o post do form com âreturn falseâ no final da funçÃĢo. Assim evitamos aquele redirecionamento de post.
O PHP
Como definimos com âmethodâ e âactionâ para o nosso formulÃĄrio, segue o cÃģdigo para resgatar os dados:
Dependemos da MCAPI.class que vocÊ pode verificar na documentaçÃĢo ou baixar aqui, sÃģ lembrando que precisa adicionar sua API Key e List ID.
PRONTO
Nosso formulÃĄrio ÃĐ responsivo e integrado ao mailchimp.
Veja como ficou o resultado final
Veja o cÃģdigo completo no github
à isso ae pessoal, obrigado.
