valor por defeito de entrada de jquery clear input

Como posso limpar o valor por defeito de um formulário de entrada com jquery e limpá-lo novamente quando o botão de submissão é premido?

<html>
        <form method="" action="">
            <input type="text" name="email" value="Email address" class="input" />
            <input type="submit" value="Sign Up" class="button" />
        </form>
</html>

<script>
$(document).ready(function() {
    //hide input text
    $(".input").click(function(){
        if ($('.input').attr('value') == ''){
            $('.input').attr('value') = 'Email address'; alert('1');}
        if  ($('.input').attr('value') == 'Email address'){
            $('.input').attr('value') = ''}
    });
});
</script>

A menos que você'esteja realmente preocupado com navegadores mais antigos, poderia simplesmente utilizar o novo atributo html5 placeholder como tal:

<input type="text" name="email" placeholder="Email address" class="input" />
Comentários (2)
$('.input').on('focus', function(){
    $(this).val('');
});

$('[type="submit"]').on('click', function(){
    $('.input').val('');
});
Comentários (0)

Tente isso:

  var defaultEmailNews = "Email address";
  $('input[name=email]').focus(function() {
    if($(this).val() == defaultEmailNews) $(this).val("");
  });

  $('input[name=email]').focusout(function() {
    if($(this).val() == "") $(this).val(defaultEmailNews);
  });
Comentários (0)