@verygoodboy

Почему URLSearchParams(window.location.search) показывает true для всех параметров урл если значение есть только в одном?

Всем привет.
Есть url вида:
site.com/users/search?search=bob&age=10
Мне нужно получить search - результат поиска и age - фильтр по возрасту, выполнить проверку и что-то сделать. Например:
let searchParams = new URLSearchParams(window.location.search);
        let search = searchParams.get('search');
        let age = searchParams.get('age');

        if (search != null){
            $('.search-button').show();
            $('input[name="search"]').val(search);
        } else {
            $('.search-button').hide();
            $('input[name="search"]').val('');
        }

Но проблема в том, что если я не ищу по таблице - параметр search, а просто фильтрую данные - параметр age:
site.com/users/search?search=&age=10
то условие для параметра search != null уже почему-то не выполняется, хотя значения в нем нет...
Подскажите, пожалуйста, как сделать проверку по этим параметрам так, чтобы если параметр search пустой условие по нему не выполнялось бы?
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
TTATPuOT
@TTATPuOT
https://code.patriotovsky.ru/
Сделайте просто
if (search){
Если поле пустое или null, то этот if оно не пройдёт. В вашем случае "" != null будет возвращать true.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы