formulariosdecontatos.

recentposts

Pesquisar

Aprender a fazer: "Crie um formulário de contato simples HTML5"



fonte e créditos:
articles/2010/10/create-a-simple-html5-contact-form/

"  Create a Simple HTML5 Contact Form"


After reading up on HTML5 and hearing all the buzz, I decided to take a few minutes and create a simple form to help me learn a little more about it and maybe share a few things along the way. Accompanying me are 12 new input types, most of which I don’t use in this form, but are pretty snazzy.

There’s new input types

At the time of this post the input types being supported by the newer browsers are email, url, tel, search, number, and range. The types only supported by Opera are date, datetime, datetime-local, month, week, and time.
What’s so great about them?  Well, the thing that sticks out the most to me so far is Mobile Safari’s integration with the e-mail, tel, and url input types.  If you are using an iPhone and hit a HTML5 form field utilizing an url type your keyboard will display the special keyboard with a “.com” button.  This doesn’t really help people with .net domain extensions, but it’s a step in the right direction.  The same goes with email types – a keyboard with an “@” button will appear making it easier to fill out.  The tel input type will display the iPhone’s number pad.

Getting started

To get started we need to build a basic HTML5 page and a form that utilizes the new input types and the stylesheet to keep it looking good.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>HTML5 Form</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div id="contact-form">    
<form id="contact" method="post" action="">
<fieldset>    
<label for="name">Name</label>
<input type="text" name="name">
<label for="email">E-mail</label>
<input type="email" name="email">
<label for="phone">Phone</label>
<input type="text" name="phone">
<label for="website">Website</label>
<input type="url" name="url">
<label for="message">Question/Comment</label>
<textarea name="message"></textarea>
<input type="submit" name="submit" id="submit" value="Send Message" />
</fieldset>
</form>
</div><!-- /end #contact-form -->
</body>
</html>

Let’s add some placeholders

More than likely you have seen placeholders that up until now have been strictly JavaScript driven.  With HTML5, we only have to use JavaScript as a fall back.

<label for="name">Name</label>
<input type="text" name="name" placeholder="Full Name">
<label for="email">E-mail</label>
<input type="email" name="email" placeholder="name@domain.com">
<label for="phone">Phone</label>
<input type="tel" name="phone" placeholder="ex. (555) 555-5555">
<label for="website">Website</label>
<input type="url" name="url" placeholder="http://">

Use Modernizr to handle the fallbacks

I’ve been using Modernizr as a fallback because, well, it makes my life easy.  It will detect if a browser supports a HTML5 feature and if it doesn’t, it allows you to handle it appropriately.  To handle the placeholder fallback we are going to use Modernizr and mix in some jQuery goodness with the placeholder plugin by Daniel Stocks.


<script src="js/jquery.placeholder.js"></script>
<script src="js/modernizr-min.js"></script>
<script>
if (!Modernizr.input.placeholder){
 $('input[placeholder], textarea[placeholder]').placeholder();
}
</script>

Client-side Validation

HTML5 offers some great validation, but unfortunately it’s currently only fully supported by Opera.  Firefox should have it in version 4 and Chrome has it halfway implemented which really doesn’t make sense to me.  While testing native validation on this form, Chrome will validate the form and won’t allow it to be submitted, but will not display a message telling the user why.  This can be confusing and it’s why I am using a jQuery validation plugin for it.  Start by adding the validation class to the fields.  The title will display the error message text that your user will see.

<input type="text" name="name" placeholder="Full Name" title="Enter your name" class="required">
<input type="email" name="email" placeholder="yourname@domain.com" title="Enter your e-mail address" class="required email">

In the final front-end step I’ll use the jQuery form plugin in conjunction with the validation plugin to pass the form to the server side process.php via ajaxSubmit.


<script src="js/jquery.form.js"></script>
<script src="js/jquery.validate.js"></script>
<script>
$(function(){
$('#contact').validate({
submitHandler: function(form) {
$(form).ajaxSubmit({
url: 'process.php',
success: function() {
$('#contact').hide();
$('#contact-form').append("<p class='thanks'>Thanks! Your request has been sent.</p>")
}
});
}
});
});
</script>

That’s pretty much it

HTML5 offers a ton a robust new features and I have barely grazed the surface with its capabilities in this tutorial.  I’m sure there will be more to share along the way.  I’d like to give a special thanks to Chris Coyier for letting me reference his tutorial for help with the ajax portion of this post.
The download includes a stylesheet to spruce up the new form and a basic server side form processor, but you might want to apply some server side validation as well.



Leave a Reply

Your email address will not be published. Required fields are marked *
*

traduzido:                                                              




Crie um formulário de contato simples HTML5



Depois de ler sobre HTML5 e ouvir todo o zumbido, eu decidi tomar alguns minutos e criar um formulário simples para me ajudar a aprender um pouco mais sobre ele e talvez partilhar algumas coisas ao longo do caminho. Que me acompanham são 12 tipos de entrada de novos, a maioria das quais eu não uso desta forma, mas são muito snazzy.

Há tipos de entrada de novos

No momento deste post os tipos de entrada a ser compatíveis com os navegadores mais recentes são e-mail, url, tel, pesquisa, númeroE intervalo. Os únicos tipos suportados pelo Opera são data, datetime, datetime local, Mês, semanaE tempo.
O que há de tão grande sobre eles? Bem, a coisa que se destaca a mais para mim até agora é a integração do Mobile Safari com o e-mail, telE url tipos de entrada. Se você estiver usando um iPhone e bateu em um campo de formulário utilizando um HTML5 url digite o seu teclado irá exibir o teclado especial com um ". com" botão. Isto realmente não ajuda as pessoas com. extensões net, mas é um passo na direção certa. O mesmo acontece com e-mail tipos - um teclado com um "@" botão aparecerá tornando mais fácil de preencher o. tel tipo de entrada será exibida teclado do iPhone de número.

Primeiros passos

Para começar, precisamos construir uma página HTML 5 e um formulário básico que utiliza os tipos de entrada e os novos estilos para manter a aparência boa.
<! DOCTYPE html>
<html lang="En">
<cabeça>
<meta charset="Utf-8">
<título> HTML5 </ formtítulo>
<link rel="Stylesheet" href="Css / style.css">
</cabeça>
<corpo>
<div id="Formulário de contacto">    
<forma id="Contato" método="Post" ação="">
<fieldset>    
<etiqueta para="Nome"Nome> </etiqueta>
<Entrada tipo="Texto" nome="Nome">
<etiqueta para="Email"<> E-mail /etiqueta>
<Entrada tipo="Email" nome="Email">
<etiqueta para="Telefone"Telefone> </etiqueta>
<Entrada tipo="Texto" nome="Telefone">
<etiqueta para="Site"Website> </etiqueta>
<Entrada tipo="Url" nome="Url">
<etiqueta para="Mensagem"Pergunta> </ Comentário /etiqueta>
<textarea nome="Mensagem"></textarea>
<Entrada tipo="Submit" nome="Submit" id="Submit" valor="Enviar mensagem" />
</fieldset>
</forma>
</div><-! / End # formulário de contato ->
</corpo>
</html>

Vamos adicionar alguns espaços reservados

Mais do que provável que você já viu marcadores que até agora tem sido estritamente JavaScript conduzido. Com HTML5, só temos de usar JavaScript como um retrocesso.
<etiqueta para="Nome"Nome> </etiqueta>
<Entrada tipo="Texto" nome="Nome" espaço reservado="Nome Completo">
<etiqueta para="Email"<> E-mail /etiqueta>
<Entrada tipo="Email" nome="Email" espaço reservado="Name@domain.com">
<etiqueta para="Telefone"Telefone> </etiqueta>
<Entrada tipo="Tel" nome="Telefone" espaço reservado="Ex. (555) 555-5555">
<etiqueta para="Site"Website> </etiqueta>
<Entrada tipo="Url" nome="Url" espaço reservado="http://">

Use Modernizr para lidar com a fallbacks

Eu tenho usado Modernizr como um retorno porque, bem, isso faz minha vida mais fácil. Ele irá detectar se o navegador oferece suporte a um recurso HTML5 e se isso não acontecer, ele permite que você manipulá-lo adequadamente. Para lidar com o retorno do espaço reservado que vamos usar e Modernizr misturar em algum bondade jQuery com o espaço reservado plugin por Ações Daniel.

<script src="Js / jquery.placeholder.js"></script>
<script src="Js / modernizr-min.js"></script>
<script>
if (! Modernizr.input.placeholder) {
 $ ('Input [espaço reservado], textarea [espaço reservado]') marcador ().;
}
</script>

Validação do lado do cliente

HTML5 oferece algumas validações grande, mas infelizmente é actualmente apenas totalmente suportado pelo Opera. Firefox deve tê-lo na versão 4 e Chrome tem metade implementado, o que realmente não faz sentido para mim. Embora os testes de validação nativo deste formulário, o Chrome irá validar a forma e não vai permitir que ele seja apresentado, mas não irá mostrar uma mensagem dizendo ao usuário o porquê. Isto pode ser confuso e é por isso que eu estou usando um validação jQuery plugin para isso. Comece por adicionar a classe de validação para os campos. O título será exibido o texto da mensagem de erro que o usuário vai ver.

<Entrada tipo="Texto" nome="Nome" espaço reservado="Nome Completo" título="Digite seu nome" classe="Necessária">
<Entrada tipo="Email" nome="Email" espaço reservado="Yourname@domain.com" título="Digite seu endereço de e-mail" classe="E-mail necessária">

Na etapa final-de-final frente vou usar o jQuery forma plugin em conjunto com a validação plugin para passar o formulário para o lado do servidor process.php via ajaxSubmit.


<script src="Js / jquery.form.js"></script>
<script src="Js / jquery.validate.js"></script>
<script>
$ (Function () {
$ ('# Contato "). Validate ({
function (form) {: submitHandler
$ (Formulário). AjaxSubmit ({
url: 'process.php,
function () {: sucesso
$ ('# Contato ") hide ().;
$ ('# Formulário de contato "). Append (" <p classe='Obrigado'> Obrigado! Seu pedido foi enviado. </p>")
}
});
}
});
});
</script>

Isso é muito bonito

"HTML5 oferece uma tonelada características nova e robusta, e eu tenho quase roçou a superfície com as suas capacidades neste tutorial. Tenho certeza que haverá mais partes ao longo do caminho. Eu gostaria de dar um agradecimento especial a Chris Coyier para deixar me referência o seu tutorial para ajudar com a parte ajax deste post.
O download inclui uma folha de estilo para enfeitar o novo formulário e um formulário de base de servidor com processador lado, mas você pode quiser aplicar algumas validação do lado do servidor também.''


Deixe uma resposta

Seu endereço de email não será publicado. Os campos obrigatórios estão marcados *
*
Você pode usar estes HTML tags e atributos: href="" title="Avião"> <abbr title="Avião"> <acronym title="Avião"> <b> <blockquote cite=""> <cite> <code> <del datetime <em > <i> <Q cite=""> <strike> <strong>

Um comentário:

  1. Good post however I was wanting to know if you could write
    a litte more on this topic? I'd be very thankful if you could elaborate a little bit more. Thanks!

    Feel free to visit my webpage - pc

    ResponderExcluir

Mensagem do formulário de comentário:

Postagem em destaque

óculos

Arquivo