Я пытаюсь найти JS, который определяет количество пустых полей в моей форме. У меня есть 3 поля. Если JS насчитал 2 или более пустых поля, JS изменит цвет css на красный. Если JS насчитал 1 пустое поле, JS изменит цвет css на зеленый. Это прекрасно работает, когда я вводить данные в поле ввода. Тем не менее, когда я загружаю страницу с данными уже внутри двух полей, цвет по-прежнему остается красным. Как заставить JS проверять, есть ли уже значения в поле ввода, и соответственно менять цвет в зависимости от количества пустых полей при загрузке страницы?
Ниже показано, когда страница загружается, но отображается красным, хотя в ней только 1 пустое поле.
Я проверил все форумы, но не ответил на мою проблему
'''HTML'''
<table>
<tr></tr><td> Field 1: <input class="user_field" type="text" name="1[user_fname]" value="1" autofocus/></td></tr>
<tr><td>Field 2: <input class="user_field" type="text" name="1[user_lname]" value="2"/></td></tr>
<tr><td>Field 3: <input class="user_field phone" type="text" name="1[user_mobile]"/></td></tr>
<tr><td> </td></tr>
</table>
<div id="result"></div>
<div class="containerbox">
<div id="centerbox1" style="background-color: #FF6C60;">
<div class="value">
<p><span style="color: #fff ;font-weight:bold; font-size:36px">test</span></p>
</div>
</div>
</div>
</div>
'''JS'''
$(document).ready(function(){
$('.user_field').blur(function() {
var text = "field(s) empty";
var count = $('.user_field').not(function() {
return this.value;
}).length;
$('#result').html(count + " " + text);
//*alert(count);
var udata = count;
if (udata > 2){
document.getElementById("centerbox1").style.backgroundColor = '#FF6C60';
}
else
if (udata <= 2)
{
document.getElementById("centerbox1").style.backgroundColor = '#99C262';
}
});
});
Я ожидал, что цвет фона будет зеленым, поскольку в полях есть 2 данные, когда страница загружена, но страница отображается красным цветом.