Edit in JSFiddle

$(function(){
    $('.form_field input,.form_field textarea')
        .filter(':not(.formBind)')
        .bind('focus', function(){
                // window.console.log('app.g.formBinds : focus');
                $(this).prev('label').addClass('focus');
        })
        .bind('keyup keydown change', function(){
                // window.console.log('app.g.formBinds : change');
                
                var label = $(this).prev('label');
                var inline_label = $(this).parent().hasClass('il');
                if ($(this).val() != '' && inline_label){
                        if ($(label).is(':visible')){
                                $(label).animate({
                                                'opacity': '0'
                                        }, 100, 'linear', function(){
                                                $(this).hide().css({'opacity': ''});
                                        }
                                );
                        }
                } else {
                        $(label).stop(true, true).show();
                }
                $(this).parent().removeClass('error');
        })
        .bind('blur', function(){
                // window.console.log('app.g.formBinds : blur');
                $(this).prev('label').removeClass('focus');
        })
        .addClass('formBind')
        .each(function(){
                // window.console.log('form');
                // periodically check input states for browser auto-fill
                // utilities -- "change" does not always trigger properly
                var input = this;
                setTimeout(function(){ $(input).trigger('change'); }, 200);
                if ($(this).val() != ''){
                        var label = $(this).prev('label');
                        $(label).hide();
                }
        });

    $('.form_field label:not(.formBind)')
        .bind('click', function(){
                $(this).siblings('input,textarea').focus();
        })
        .addClass('formBind');
  
  
});

$(".signupError").hide();
$('.signupForm').submit(function(event) {
  event.preventDefault();
  $(".signupError").hide();
  var email = $("input[name='email']").val();
  if (email == "") {
    $(".signupError").slideDown(100);
    $(".signupText").focus();
    return false;
  }
});
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<div class="signup">
  <form class="signupForm">
    <input type="submit" class="signupBtn right" value="Sign Up">
    <div class="signupBox">
      <div class="form_field il">
        <label class="signupLabel" for="email">Your Email Address</label>
        <input type="text" name="email" class="signupText">
      </div>
        <label class="error signupError">This Field Is Required</label>
    </div>
  </form>
</div>
.signup {
padding: 15px;
background-color:#ebebeb;
}

.signupBtn{
margin:0 0 0 10px;
color: white;
text-shadow: 0 1px 1px rgba (0,0,0,.5);
background-color: #049ECB;
text-align: center;
cursor: pointer;
vertical-align: baseline;
border: none;
color: white;
font-weight: bold;
text-decoration: none;
display: inline-block;
float: right;
}
body{
  
font-family:Arial;
}
.signupText {
box-sizing: border-box;
-webkit-box-sizing: border-box;
color: #999;
vertical-align: middle;
border-width: 0;
background: transparent;
width: 100%;
background: white;
color: #252525;
outline: none;
box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.3);
}

.signupBox {
overflow: hidden;
}

.signupText, .signupBtn, .signupLabel, .signupError{
padding:10px;
font-size: 14px;
}

.signupText, .signupBtn{
border-radius: 4px;
-webkit-border-radius: 4px;
}

.signupError{
  display:block;
  color:red;
}
/* fancy form related css*/
.form_field {
    display: inline-block;
    position: relative;
    width: 100%;
}

.form_field label {
    color: #999999;
    cursor: text;
    display: block;
    position: absolute;
}

.form_field input:focus {
    background-color: #fefefe;
}

.form_field label.focus {
    color: #999999;
    opacity: 0.5;
    font-style: italic;
}