2015-02-06 84 views
2

嘿,我有一个登录表单,当您点击输入时,标签向上移动,焦点移出后,它会检查输入中是否有文本,以及如果标签保持不变不要把标签掉下来。JQuery检查输入是否为页面加载时为空

我的代码是:

$(function() { 
    $('.loginForm .inputGroup input').focusout(function() { 
     var text_val = $(this).val(); 
     if (text_val === "") { 
      $(this).removeClass('has-value'); 
     } else { 
      $(this).addClass('has-value'); 
     } 
    }); 
}); 

问题是,当我点击登录,它给像用户名的错误不存在我想保持对输入的用户名,但是当我做了标签住宿在输入文本的顶部。
如何在输入时检查负载是否有文本?

图像,以帮助了解情况:

enter image description here enter image description here

的jsfiddle: http://jsfiddle.net/16g7yhLf/

干杯!

回答

6

您可以在注册事件处理程序后触发focusout事件,以便处理程序得到执行。

$(function() { 
    $('.loginForm .inputGroup input').focusout(function() { 
     var text_val = $(this).val(); 
     if (text_val === "") { 
      $(this).removeClass('has-value'); 
     } else { 
      $(this).addClass('has-value'); 
     } 
    }).focusout();//trigger the focusout event manually 
}); 

演示:Fiddle


一个较短的版本可以

$(function() { 
    $('.loginForm .inputGroup input').focusout(function() { 
     var text_val = $(this).val(); 
     $(this).toggleClass('has-value', text_val !== ""); 
    }).focusout(); //trigger the focusout event manually 
}); 
+0

谢谢你,它的工作:) – Matthew 2015-02-06 14:00:35