Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

vdem

  • 130
    вклад
  • 0
    вопросов
  • 165
    ответов
  • 50%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как в return получить несколько значений?

    vdem @vdem
    toCart() судя по всему не возвращает ничего. Результат возвращает анонимная функция, которую Вы присваиваете свойству onload, и он нигде не используется. В btnClick() Вы вызываете функцию toCart(), которая в свою очередь инициирует асинхронный запрос, ответ на который придет в ту анонимную функцию.

    UPD: Вот такой вариант будет работать:
    function toCart(e, handleResponse) {
        const req = new XMLHttpRequest();
        ...
        req.onload = function() {
            handleResponse(this.response);
        }
    }
    
    function btnClick(e) {
        ...
        toCart([name, size], function(response) {
            console.log(response);
        });
    }
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Почему не работает setTimeout?

    vdem @vdem
    setTimeout(function() {
        removeClass(childOne);
    }, 5000);
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как обратиться к элементам созданным через innerHtml?

    vdem @vdem
    const formContainer = document.getElementById('formContainer');
    formContainer.innerHTML = '<input type="email" name="email" required>';
    formContainer.querySelector('[name=email]').addEventListener('change', function (e) {
        ...
    });
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Ошибка Fatal error: Call to a member function fetch_assoc(). Как исправить?

    vdem @vdem
    $result у Вас имеет значение false. А вообще за код - двойка. Я Вам всю базу данных удалю просто из браузера :)
    Ответ написан более двух лет назад
    12 комментариев
    12 комментариев
  • Как ограниченить функцию str_replace по определенному тегу?

    vdem @vdem
    Почитайте про регулярные выражения, как уже написали.
    $o = preg_replace('/(<img\s.*\ssrc=".*?)h2_(.*?)"/', '$1p_$2', $s);

    P.S. А вообще для HTML/XML регулярки не стоит использовать, лучше обходить DOM, встроенные стредства в PHPесть.
    Ответ написан более двух лет назад
    4 комментария
    4 комментария
  • Почему выводит массив?

    vdem @vdem
    Вообще-то следовало бы добавить код функции getOne(). Нам что, догадываться что в ней? Впрочем, это несложно. Она возвращает в виде массива одну запись из набора данных. И этот массив содержит единственный элемент - значение count.
    Ответ написан более двух лет назад
    10 комментариев
    10 комментариев
  • Как вытащить значения из многомерного массива без двух foreach?

    vdem @vdem
    Конечно, как написали выше, нужно постараться решить вопрос на уровне запроса к БД. Но вот так тоже будет работать, и притом довольно шустро. Один момент: дату, вероятно, следует перевести в формат здорового человека (год-месяц-день).
    $dealsMap = array_combine(array_column($deals, 'id'), $deals);
    print_r($dealsMap);
    foreach ($ads as $ad) {
        $idDeal = $ad['idDeal'];
        if (!isset($dealsMap[$idDeal]['dateStop'])
                || ($dealsMap[$idDeal]['dateStop'] < $ad['dateStop'])) {
            $dealsMap[$idDeal]['dateStop'] = $ad['dateStop'];
        }
    }
    
    print_r($dealsMap);
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
  • Как бы вы реализовали вычисление списка "любимых эмодзи" пользователя?

    vdem @vdem
    А не лучше ли хранить их в одном поле в JSON? Например, сделать два поля - mostUsed (наиболее часто использующиеся) и recentlyUsed (последние использованные, чтобы на основании этих данных новые использующиеся эмодзи могли попасть в mostUsed). ИМХО для такой функциональности не стоит заводить отдельную таблицу.

    P.S. Ну и конечно хранить количество (а лучше - частоту встречаемости) случаев использования, чтобы либо добавлять в mostUsed, либо убирать оттуда в пользу эмодзи из recentlyUsed.
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как получить id формы если action='javascript: КАКАЯ-ТО_ФУНКЦИЯ()'?

    vdem @vdem
    Код, находящийся после "javascript:", выполняется в контексте window. Лучше использовать "onsubmit":
    <form onsubmit="КАКАЯ_ТО_ФУНКЦИЯ(this.id)">
    Здесь код выполнится в контексте самой формы.

    UPDATE: Ошибочка вышла, код после "javascript:" таки может выпоняться в контексте элемента, где был вызван (в данном случае - формы), но только в обработчиках событий. В остальных же атрибутах он выполнится сразу при рендеринге страницы, т.е. в контексте window.

    UPDATE 2: Таки не при рендеринге, а после события "submit", когда движок браузера дергает атрибут "action". Похоже, window как this используется для всего, что не обработчик события.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Можно ли в php в dockblock использовать multiple types object?

    vdem @vdem
    Можно.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как обмениваться данными между таблицами MySQL?

    vdem @vdem
    DELIMITER $$
    CREATE TRIGGER after_members_insert
    AFTER INSERT
    ON members FOR EACH ROW
    BEGIN
        IF NEW.birthDate IS NULL THEN
            INSERT INTO reminders(memberId, message)
            VALUES(new.id,CONCAT('Hi ', NEW.name, ', please update your date of birth.'));
        END IF;
    END$$
    DELIMITER ;

    Триггеры
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как написать это условие по нормальному?

    vdem @vdem
    if (empty($_SESSION['logged_user']) && !in_array($_SERVER['REQUEST_URI'], ['/login', '/signup'])) {
        header('Location: /login');
    }
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как в массиве оставить значения, содержащие только определённые слова?

    vdem @vdem
    Не тестировал, но как-то так:
    $source = [...];
    $words = ['куплю', 'продам'];
    $result = array_filter($source, function($item) use ($words) {
        return count(array_filter($words, function($word) use ($item) {
            return mb_stripos($item, $word) !== false;
        }));
    });

    UPD: Исправлено.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как можно сделать и как вообще принято разделять роли(привелегии) при работе с API?

    vdem @vdem
    Смотрите в сторону Laravel 1) Policies и 2) Gates, в официальной документации хорошо расписано.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Выполнение функции после ввода 6 символов в input?

    vdem @vdem
    Что-то вроде этого (не тестировал):
    document.querySelector('input[name=index_pochta]').addEventListener('keyup', function(e) {
        if (this.value.length >= 6) {
            showRaschet();
        }
    });
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как реализовать рефлексию/исследование структуры классов в Lazarus/Delphi?

    vdem @vdem
    В Delphi это называется RTTI (Runtime Type Information). Вот здесь есть немного.
    Ответ написан более трёх лет назад
    8 комментариев
    8 комментариев
  • Как в kubuntu убрать постоянные рут запросы?

    vdem @vdem
    Видимо, там все файлы принадлежат пользователю root в группе root. Надо рекурсивно поменять владельца/группу.
    sudo chown -R пользователь:группа /путь
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Почему не работает делегирование событий JS?

    vdem @vdem
    Может быть,
    console.log(e.target.getAttribute('data-id'));
    ?
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как запретить локальное редактирование input значения перед отправкой формы?

    vdem @vdem
    Сохранять нужное значение в сессии ($_SESSION) и при отправке формы брать его из сессии, а не формы.
    P.S. Только не забыть сделать session_start() до какого-либо вывода в PHP.
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как подключить библиотеку jQuery первой, а все остальные скрипты с async?

    vdem @vdem
    1. Подключите jQuery самым первым (скорее всего в head).
    2. А остальные скрипты - с async.
    Очевидно же.
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • Следующие →
Самые активные сегодня
  • Drno
    • 4 ответа
    • 0 вопросов
  • Максим Д.
    • 4 ответа
    • 0 вопросов
  • pindschik
    pindschik
    • 3 ответа
    • 0 вопросов
  • Захар Буров
    • 2 ответа
    • 1 вопрос
  • martin74ua
    Руслан Федосеев
    • 3 ответа
    • 0 вопросов
  • Rsa97
    Rsa97
    • 3 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации