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

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

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

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

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

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

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

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

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

aspirantes

  • 0
    вклад
  • 19
    вопросов
  • 1
    ответ
  • 0%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Возможно ли передать переменную таким образом?

    sergiks
    Сергей Соколов @sergiks Куратор тега JavaScript
    ♬♬
    Может, завести доп. функцию для мышиного события?
    Основная логика, принимающая аргументом var1 — в одной функции.
    События нажатия вызывает другую функцию, изнутри которой уже вызывать основную с известным аргументом.
    let var1 = 1;
    
    // основная логика — тут.
    function logic(value) {
      alert(value);
    }
    
    // по мышиному событию
    function mouseHandler(event) {
      logic(var1);
    }
    
    // напрямую
    logic(var1);
    Ответ написан 05 апр.
    2 комментария
    Нравится 2 2 комментария
  • Возможно ли передать переменную таким образом?

    zav19791979 @zav19791979
    Можно использовать через замыкание, но только в том случае если и объявление переменной и функции находятся в одной области.
    const var1 = 10'
    
    function func() {
             alert(var1); // тут будет выведено 10
    }


    или, как вариант, через привязку контекста
    const func  = function(var1, var2,  var3) {
        console.log(var1); // 'значение var1'
    }.bind(null, 'значение var1');

    в этом случае значение
    "this" будет равен "null"
    "var1" всегда будет равно "значение var1"
    а остальные значения будут равны тому что вы передадите в метод "func"

    то есть "значение var1" будет передаваться, всегда, впереди любых аргументов

    Вот тут более подробно про это рассказано https://learn.javascript.ru/bind
    Ответ написан 05 апр.
    6 комментариев
    Нравится 1 6 комментариев
  • Почему AJAX загружает страницу по новой?

    Tom_Xor
    XOROX @Tom_Xor
    Так и должен работать window.location.assign().

    Если всё работает, то проблема, либо в пути XHR, либо не в клиентском JavaScript, а в том, что отдаёт сервер в ответ на этот вопрос.
    Ответ написан 03 апр.
    30 комментариев
    Нравится 1 30 комментариев
  • Как спрятать scrollbar в div и отставить возможность скроллинга?

    DotDash
    DotDash @DotDash
    •••• • •−•• •−•• −−− •−− −−− •−• •−•• −•• −−••−−
    Привет! Сейчас 2019 и это работает вот так:
    Ответ написан более двух лет назад
    Комментировать
    Нравится 15 Комментировать
  • Как здесь удалить eventlistener?

    notiv-nt
    Михаил @notiv-nt
    Как ваше ничего? Да, моё тоже
    document.body.onclick = null
    Ответ написан 25 дек. 2020
    Комментировать
    Нравится 2 Комментировать
  • Как здесь удалить eventlistener?

    KorniloFF
    Павел Корнилов @KorniloFF Куратор тега JavaScript
    Работаю по font-end / JS
    В вашем варианте так:
    document.body.onclick = function aaa(e) {
              if (e.target.getAttribute("class") != "header__menu__text") {
                   header__menu__open(header__menu__spisok);
                   document.body.onclick= ()=>false;
              }
         }


    А правильно нужно навешивать обработчик через addEventListener, передавая ему именованную функцию. Тогда можно будет использовать removeEventListener с тем же именем функции.
    Ответ написан 25 дек. 2020
    4 комментария
    Нравится 2 4 комментария
  • Почему не выполняется every?

    bingo347
    Дмитрий Беляев @bingo347 Куратор тега JavaScript
    Ткнуть в доку лучше готового к копипасте ответа
    У HTMLCollection нет метода every, и метода includes тоже нет, как и метода some у DOMElement
    Ответ написан 20 дек. 2020
    7 комментариев
    Нравится 1 7 комментариев
  • Почему не работает getAttribute?

    TAbrahamyan
    Тигран Абрамян @TAbrahamyan
    у .getAttribute круглые скобки, а не квадратные
    Ответ написан 16 дек. 2020
    1 комментарий
    Нравится 1 1 комментарий
  • Безопасная идентификация, аутентификация, авторизация. Что лучше?

    dimonchik2013
    dimonchik2013 @dimonchik2013
    совет, который уже дан - ничего не стоит
    post

    get ограничен длиной - будут проблемы в браузерах, ну и при mitm сразу превращается в проблему
    Ответ написан 19 нояб. 2020
    1 комментарий
    Нравится 2 1 комментарий
  • Как избавится от двойной отправки формы, методом POST?

    nokimaro
    nokimaro @nokimaro
    Меня невозможно остановить, если я смогу начать.
    1. отправлять форму через XHR / fetch (ajax post).
    2. редирект после отправки формы - типовое и надёжное решение
    3. можно сохранять в сессию последнюю отправленную форму. и если видим дубликат данных то игнорировать этот post-запрос.

    Если редирект "не помогает" то прошу в студию минимальный пример кода где у вас форма + страница которая после получения формы делает редирект, а мы проверим правда ли "не помогает".
    Ответ написан 19 нояб. 2020
    3 комментария
    Нравится 3 3 комментария
  • Как избавится от двойной отправки формы, методом POST?

    firedragon
    Владимир Коротенко @firedragon
    Senior .NET developer
    При отображении формы делайте скрытое поле с uuid и храните его в сессии или бд. При получении смотрите это значение если оно есть то все нормально и вставляете, после вставки стираете его. Впрочем можно и до. Если нет выводите сообщение что форма уже отправлена
    Ответ написан 19 нояб. 2020
    Комментировать
    Нравится 1 Комментировать
  • Почему не игнорирует функцию foreach?

    v3shin
    v3shin @v3shin
    Веб-шаман
    if (isset($idformold) == FALSE) {$idformold = 0;};
    $idformold становится 0. Если ли вы отправляете какое-то значение в $_POST['idform'] кроме 0 или '', условие $_POST['idform'] != $idformold выполнится .

    П.С.:
    if (isset(...) == FALSE) {...}; // не надо так
    if (!isset(...)) {...} // лучше так
    Ответ написан 20 нояб. 2020
    Комментировать
    Нравится 1 Комментировать
  • Есть ли эквайринги с фиксированной оплатой для самозанятых?

    DevMan
    DevMan @DevMan Куратор тега Платёжные системы
    нет таких, все берут комиссию. и не потому что жадные редиски, а потому что комиссию берут все по цепочке.

    2.5% - совсем не плохо.
    Ответ написан 15 дек. 2020
    Комментировать
    Нравится 3 Комментировать
  • Есть ли эквайринги с фиксированной оплатой для самозанятых?

    boss_lexa @boss_lexa
    qiwi 2%
    https://p2p.qiwi.com/

    добавьте к самозанятому статус "ИП" - налоги и взносы будут теже самые, но тогда сможете подключить любой нормальный интернет-эквайринг.
    например в сбере на обороте от 300 тыс дают 2%
    https://www.sberbank.ru/ru/s_m_business/bankingser...

    вы можете еще посмотреть в сторону СБП (по QR-коду и через приложение банков) - там комиссия 0,4%-0,7%
    но еще не все банки туда подключились, ЦБ - год им дал на подключение
    https://sbp.nspk.ru/participants/#

    10% наценки мало, что вынуждает ее такой маленькой держать?
    Ответ написан 15 дек. 2020
    2 комментария
    Нравится 2 2 комментария
  • Как заставить показать результат ajax запроса, после создания DOM элемента?

    DjailinVasu
    Мария Денисова @DjailinVasu
    Верстальщик, подрастающий фронтендер
    Вам сюда
    https://developer.mozilla.org/ru/docs/Web/API/Muta...
    Подписываетесь на изменения всего дерева dom, или на ту ветвь где должен появиться ожидаемый элемент.
    Слушаете childList, дальше по примеру в статье.

    В колбеке получаете mutationsList, его перебираете через forEach, для каждого элемента mutationsList смотрите нет ли у него addedNodes (элементы которые только что добавились). Если они есть, перебираете массив из свойства addedNodes, там уже прям лежат node, можно у них смотреть атрибуты, например, в поисках заветного дива.

    Пример колбека

    var collback = function(mutationsList)  {
                            mutationsList.forEach((mutation) => {
                                if (mutation.addedNodes.length > 0) {
                                    mutation.addedNodes.forEach((node) => {
                                        if (
                                            node.localName === "some" &&
                                            node.hasAttribute("some") 
                                        ) {
                                           //вставляем что там надо и не забываем отписаться от прослушки
                                        }
                                    });
                                }
                            });
                        });
    Ответ написан 14 дек. 2020
    2 комментария
    Нравится 1 2 комментария
  • Как правильно вписать переменную для экранирования подготовленного запроса?

    DevMan
    DevMan @DevMan Куратор тега PHP
    плейсхолдерами могут быть только значения полей, но не имена полей/таблиц/etc.
    то есть ваш запрос все равно не выполнится, даже с правильным экранированием.

    имена полей принято заключать в обратные кавычки для избежания конфликтов c ключевыми словами самого SQL.
    Ответ написан 05 дек. 2020
    9 комментариев
    Нравится 2 9 комментариев
  • Как правильно вписать переменную для экранирования подготовленного запроса?

    eyuioa @eyuioa
    Никак, придётся подставлять переменную вручную, предварительно отсекая из неё всё лишнее. Так как для названия таблицы можно использоваться только [A-z_0-9], проблем с фильтрацией не возникнет
    Ответ написан 05 дек. 2020
    3 комментария
    Нравится 1 3 комментария
  • Как сделать фильтр на JS?

    riot26
    riot26 @riot26
    <:З )~~
    https://jsfiddle.net/d1eLfjkh/
    Ответ написан более трёх лет назад
    10 комментариев
    Нравится 14 10 комментариев
  • Как реализовать таймер на php?

    riky
    Юрий @riky
    Symfony / Laravel
    $startTime = time();
    $arr = [];
    
    // ......
    
    while(1) { // main loop
        //......
    
        if (time() > $startTime + 24*60*60) {
            $startTime = time();
            $arr = [];
        }
    }
    Ответ написан более трёх лет назад
    Комментировать
    Нравится 2 Комментировать
  • Как очистить $_POST после загрузки страницы?

    codercat @codercat
    Вообще, попробовать сделать редирект на тот же урл, если я правильно понял вашу проблему.
    Например:
    header('Location: /test.php');
    Ответ написан более трёх лет назад
    11 комментариев
    Нравится 14 11 комментариев
Оценили как «Нравится»
Самые активные сегодня
  • yupiter7575
    Yupiter7575
    • 20 ответов
    • 1 вопрос
  • Василий Банников
    • 18 ответов
    • 0 вопросов
  • TNPTSYWWCC
    Uneasy Hearts Weigh the Most
    • 12 ответов
    • 0 вопросов
  • firedragon
    Владимир Коротенко
    • 10 ответов
    • 1 вопрос
  • alegzz
    • 9 ответов
    • 0 вопросов
  • hottabxp
    Сергей Карбивничий
    • 7 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

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

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