嘿,我有一个登录表单,当您单击输入时,标签会向上移动,焦点移开后它会检查输入中是否有文本,如果标签没有掉下来,标签是否会停留。
我的代码是:
$(function () {
$('.loginForm .inputGroup input').focusout(function () {
var text_val = $(this).val();
if (text_val === "") {
$(this).removeClass('has-value');
} else {
$(this).addClass('has-value');
}
});
});
问题是当我单击登录名时出现错误,例如用户名不存在,我想将用户名保留在输入中,但是当我这样做时,标签停留在输入中文本的顶部。
如何在加载时检查输入中是否有文本?
图片有助于了解情况:
JSFiddle:http : //jsfiddle.net/16g7yhLf/
干杯!
您可以在注册事件处理程序之后触发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
});
演示:小提琴
较短的版本可以是
$(function () {
$('.loginForm .inputGroup input').focusout(function () {
var text_val = $(this).val();
$(this).toggleClass('has-value', text_val !== "");
}).focusout(); //trigger the focusout event manually
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句