Apagar os values dos formulários é bem simples, porém, você deve estar se perguntando “porque eu vou querer apagar o value?”. A resposta é bem simples: imagine se você deixou pré definido algo ao usuário, por exemplo: na label “nome” que contém a tag input está escrito “nome” dentro desta tag para o usuário saber que ele deve digitar o nome dele, seria ruim o usuário ter que ele mesmo apagar este texto para depois ele digitar.
Então por isso, escrevi este script que varre dentro da tag fieldset > label todos os campos input e textarea e apaga esses values.
Segue o exemplo que eu criei para que vocês possam utilizar.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function(){
$('fieldset label').each(function(){
var vGeral = $(this).children('input[type="text"], textarea').val();
$(this).children('input[type="text"], textarea').focus(function(){
var thisValue = $(this).val();
if (vGeral == thisValue){
$(this).val('');
}
}).blur(function(){
var thisValue = $(this).val();
if (thisValue == ''){
$(this).val(vGeral);
}
});
});
});
</script>
</head>
<body>
<fieldset>
<label><input type="text" value="nome" /></label>
<label><input type="text" value="e-mail" /></label>
<label><input type="text" value="assunto" /></label>
<label><textarea cols="10" rows="10">mensagem</textarea></label>
</fieldset>
</body>
</html>
Esse é um debate eterno que todos que são do mundo online conhecem, e conhecem muito bem.
DESIGN x DESENVOLVIMENTO.
O que fazer quando o design de um site é todo estilizado? Digo, os campos de formulários todos tem um background, o que fazer? Bom, como todo bom desenvolvedor, iríamos brigar e fazer com que os campos radio button e select Box ficassem sem o background e se torne campos normais do HTML. Sim, isso seria uma solução, mas, pare e pense antes no seguinte: O site que você está produzindo, qual é o objetivo dele? Ter uma boa otimização ou ter seguir fielmente o layout proposto?
Hoje em dia, temos diversos plugins que resolvem este nosso problema com estilização dos campos de formulários até mesmo utilizando CSS conseguiu estilizar certos campos.
O que eu sempre digo é o seguinte: é legal ter um site onde seu código é aprovado pela W3C porém, ter um site onde ele segue fiel ao layout, eu acho muito interessante. Não estou dizendo que não ligo para a regra, estou dizendo que tenho 50% de chance de fazer um site que segue as regras da W3C como posso fazer um totalmente estilizado.
Agora, cabe sempre ao desenvolvedor pensar no que é melhor para o site, apenas ele sabe o que pode ser feito ou não.