$('.search').click(function () {
if ($('input:text').val().length == 0 ) {
$(".fill-out").fadeIn("1400")
}
});
$('.search').click(function () {
if ($('input:text').val().length >= 1) {
window.location.reload(true);
}
});
Поэтому у меня есть некоторый jquery, который должен показывать скрытый класс под названием.fill-out, когда нет ничего в 1 или более текстовых вводах, когда вы нажимаете кнопку отправки. Я также пытаюсь сказать, когда длина текста в текстовых вводах больше или равна 1, а затем обновлять страницу после нажатия кнопки. Вторая часть работает неправильно. Это делает так, если любые текстовые входы имеют длину текста больше или равную 1, тогда она обновляет страницу. Я хочу, чтобы первый бит кода по-прежнему создавал часть.fill-out. Может ли кто-нибудь помочь?
Вы проверяете только, имеет ли в первом элементе input:text
элемент не пустое значение... вам нужно выполнить итерацию по списку полей ввода и проверить каждую из них, чтобы узнать, пусто ли это значение или нет.
Вы должны использовать
$('.search').click(function () {
var valid = $('input:text').filter(function () {
return $.trim(this.value).length == 0
}).length == 0
if (valid) {
window.location.reload(true);
} else {
$(".fill-out").fadeIn("1400")
}
});
Демо: скрипка
$('input[type="text"]').val().trim() == '')
- вы, вероятно, также должны указать, какое текстовое поле вы ищете, и если вам нужно проверить более одного Вы могли бы использовать плагин, как JQuery валидировать