1
Я хочу, чтобы цвет связанного значка входов менялся, когда я фокусируюсь на входах или когда входы не пустые. Но мой код работает неправильно, когда входы не пустые.Как установить цвет значка, когда входы не пустые?
<div class="form-group">
<label class="label-login" for="emailInput">Email</label>
<input type="email" class="form-control" autocomplete="off" id="emailInput" />
<i class="fa fa-envelope"></i>
</div>
<div class="form-group">
<label class="label-login" for="passInput">Password</label>
<input type="password" class="form-control" autocomplete="off" id="passInput" />
<i class="fa fa-lock"></i>
</div>
$(document).ready(function() {
$(".myPanel .form-control").each(function() {
var valueInput = $(this);
valueInput.focus(function() {
valueInput.next().addClass("colorOrange");
});
valueInput.blur(function() {
valueInput.next().removeClass("colorOrange");
});
valueInput.on('input', function() {
if (valueInput.val().length > 0) {
valueInput.prev().addClass("lableFocus");
valueInput.next().addClass("colorOrange");
} else {
valueInput.prev().removeClass("lableFocus");
valueInput.next().removeClass("colorOrange");
}
});
});
});
.colorOrange{
color:#FFAE00;
}
Это один файл? Если это так, вы должны окружить javascript
Ваша проблема с областью применения.
valueInput
существует в функции.ready()
, но не наследуется в пределах функций.blur()
и.on()
. В них используетсяthis
, что является ссылкой на элемент, который вызвал событие.источник
2017-02-22 19:44:16 Gwellin
Вы можете сделать это в чистом CSS, используя псевдокласс класса :valid. Это позволяет сделать что-то вдоль линий
Через несколько notes--
Проверьте полную документацию here. Стандартные поля формы/ввода html довольно мощные, поэтому вы можете многое сделать с их помощью.
источник
2017-02-22 19:48:06 LukeG