Ответы пользователя по тегу JavaScript
  • Как получить и распарсить ответ?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    в чем проблема? Код выглядит рабочим.
    Ответ написан
  • Как заставить после загрузки контента через XMLHttpRequest последующие ссылки загружать контент в тот же самый div?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Листенер на документ, проверять если была нажата нужная ссылка (например по классу), использовать event.target и parent для определения контейнера. Дальше все как обычно - аяксом получаем контент, заменяем содержимое контейнера.
    Ответ написан
    Комментировать
  • Как подставить данные получателя почты?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Или варианты решения подобного?
    если сайты А, Б и так далее имеют аккаунт на этом ифреймовом сайте, то все достаточно просто.
    1) В урл ифрейма пишется гет переменная - ключ, в идеале короткоживущий, получаемый через бэкенд, а то и вовсе одноразовый, и этот ключ является идентификатором "владельца" сайта для ифрейма.

    2) Дальше ифрейм уже знает какой сайт его запрашивает, и может делать любые движения используя регистрационные данные сайта, в том числе и отправку почты, естественно.
    Ответ написан
    Комментировать
  • Почему FormData пустой?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) Как верно заметил TheAndrey7 в комментариях, слушать надо субмит формы (например, отправить форму я могу нажав ентер в любом текстовом инпуте), это хорошая практика, вешать слушатель на кнопку - плохая идея. И форму можно получить сразу через new FormData(this), что не требует мутных манипуляций с отдельными элементами.
    2) так же не хватает настроек аякса,
    processData: false,
    contentType: false,

    во всех FormData пустой
    Как вы это проверяли? емнип через консоль.лог датаформ не выводится, можете посмотреть что отправляется в нетворке, вкладка пэлоад.
    Ответ написан
    3 комментария
  • Как сделать анимацию смены картинки в шапке при скролле?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    Логотип прописываете как бэкграунд элемента, у элемента меняете класс (так же как у навбар), класс задает нужные картинки.
    Ответ написан
    Комментировать
  • Замена блока на другой блок или класс jQuery?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) Обычно это делают не добавлением элементов, а добавлением/удалением классов элемента. Тогда контроль проще и гибче так как в цсс всегда можно сменить не залезая в код, меньше мусора и код понятнее и управляемее.
    2) Через ваш код - перед удалением дива спиннера, находите его парент элемент, записываете в переменную, удаляете спинер и переменной уже делаете аппенд.
    Ответ написан
    Комментировать
  • Как написать десктопное приложение на javascript?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    4 комментария
  • Страница не видит $ при подключенном Jquery, в чем ошибка?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    1) Если вы хотите использовать jq в инлайновых скриптах, то подключать его надо в head разделе и без атрибута defer, но это во первых не самая лучшая практика (понятно что это съедает время загрузки страницы), во вторых все равно может не работать, если связь с цдн сервером сильно хуже чем с самим доменом. Можно скачать файл на свой хост, но опять же - это не гарантия и половинчатое решение.
    2) Все скрипты, использующие подгружаемые библиотеки в идеале должны выполняться по событию загрузки документа.
    document.addEventListener('DOMContentLoaded', function() {
    //тут уже есть возможность работать с jq
        console.log($('.footer'));
        alert("Усе готово, шеф!");
    });
    Ответ написан
    Комментировать
  • Как правильно отправить данные в json на сервер?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых - где сама форма?
    Во вторых - у полей есть айди, но нету имен, что за фигня?
    в третьих - берете формдату из формы, и из энтиес делаете объект
    const data = new FormData(formElement);
    const value = Object.fromEntries(data.entries());
    console.log(value);
    Ответ написан
    1 комментарий
  • Как обновить данные из БД с помощью AJAX?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) У вас криво вставлена разметка, вы там теги штоле нормально расставьте
    2) оба селекта имеют одинаковое имя: select name="profession"
    3) В чем собсно проблема? Не нашли как отправить значения формы аяксом? (Результатов: примерно 1 120 000)
    Ответ написан
  • Как реализовать "живой" поиск на базе Node и MySQL?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Если подразумевается что поиск будет производиться прямо во время набора текста в поле ввода, то довольно простая схема:

    На поле набора вешается онкейап листенер,
    по событию содержимое поля отправляется аяксом на сервер,
    там делается выборка нескольких значений, удовлетворяющих поисковой строке,
    обратно присылается этот набор, либо в виде жсон и дальше парсится в хтмл, либо сразу сформированный хтмл,
    данные лепятся как список ниже поисковой строчки, на кнопки вниз/вверх подсвечиваем строки из подсказки (фокус с поля надо убрать),
    по ентеру в поле вносим полную строку из подсказки и субмитим форму поиска, либо по клику тоже самое.

    Нюанс: По кейап надо ставить небольшую паузу, чтобы не спамить запросами.
    Ответ написан
    Комментировать
  • Как отправить запрос методом GET(ajax)?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Сайт подгружает с помощью ajax.
    Ну так ищете на какой урл (и каким методом) отправляется аякс запрос, повторяете у себя такой же - профит.
    Ответ написан
    3 комментария
  • Почему скрипт отлавливает клик по всей странице?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    document.addEventListener('click',как раз и вешает слушатель клика на ВЕСЬ документ. И по коду, надо давать класс эктив ЛЮБОМУ элементу, который кликнут (event.target.classList.add('active');).
    Ответ написан
    3 комментария
  • Как достать картинку из видео файла при помощи js или php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    ffmpeg
    Ответ написан
    Комментировать
  • Как вывести определённое количество сообщений, а не все и какие параметры требуются добавить для управления функцией?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Очевидно что нужно задать лимит вывода, а по уму не использовать глобальные переменные, а передавать итерируемый массив. Но это если какая-то хотя бы архитектура, в вашем случае лимит добавьте.
    function showThemes(limit=3) {
    ...
       for (let i = 0; i < thread.messages.length; i++) {
          if($i==limit)return;
    ...
    Ответ написан
    Комментировать
  • Как создать и загрузить файл в JavaScript?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Я хочу загрузить на сайт через input файл
    Что за файл?
    после этого он должен обработаться js
    Что именно обрабатывается?
    и передать переменную в python код.
    Какую переменную, только что вроде о файле говорили?
    В python он кодирует фай.
    Кто такой "он"? И от чего он его кодирует?
    После этого я хочу добавить, полученный файл на сайт с возможностью скачивания.
    Так что за файл такой волшебный?
    Какими способами я могу это сделать?
    Писать много кода. Так работают все программисты. План отличный, можете приступать.

    На самом деле у вас здесь 5 или 6 отдельных вопросов, каждый из которых во первых хреново описан, а во вторых требует отдельного развернутого ответа. Решайте по кускам, сначала первую задачу, потом вторую и так далее. Все вместе никто и никогда не решает.
    Ответ написан
    2 комментария
  • Почему не могу обратится к DOM?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    626bada58d130385883113.jpeg
    Ответ написан
    Комментировать
  • Почему не получается вычислить высоту этих элементов?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    во первых лучше уж clientHeight, так как scrollHeight учитывает высоту контента, а не бокса.
    во вторых - используйте интерсекшн обсервер, он во первых не спамит евентами как скролл, во вторых достаточно предсказуемо работает, как раз работа с пересечениями его фишка.
    Ответ написан
    Комментировать
  • Как вывести наружу переменную из EventListener?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    let будет неглобальной, используйте var
    var indexNum;

    UPD: Я понял, вы конечно тупите, но я наконец понял как вы тупите, ща попробую объяснить для одаренных:
    let indexNum; // нужно получить сюда индекс (тольуо нужно var, а не let)
    // вот тут будет немного сложно, включаем мозг...
        box.forEach((item, index) => { //мы делаем цикл, и набрасываем слушатели(!)
          item.addEventListener('click', () => { //которые могут вообще никогда не случиться, или случиться через час
            indexNum = index; //и ТОЛЬКО ТОГДА в indexNum что-то появится, на текущий момент мы только объяснили 
    //что делать по клику, пока это только команда сделать что-то в случае чего-то, indexNum до тех пор пустой
          });
        });
    // тут indexNum все еще пустой, так как мы не умеем кликать на объекты быстрее чем исполняется код.
    
        mainWrapper.addEventListener('click', () => {
          console.log(indexNum); // выведет предыдущее значение индекса при первом клике
    // но помним, что клика еще нет!
        });
    // и тут клика еще нет
        for (let index = 0; index < 3; index++) {
          console.log(indexNum); // но здесь undefined, а именно здесь индекс и нужен
    // не "но", а здесь клика еще нет, а вы пытаетесь получить его значение.
    //код выполнился, теперь можете кликать, но теперь ваш фор уже вызываться не будет.
        }

    Теперь что надо сделать: Вынести ваш код в функцию, и функцию вызывать внутри евента.
    Ответ написан
    3 комментария
  • Не отображается Яндекс карта?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Скорее всего так:
    // Создаем карту.
      var myMap = new ymaps.Map...
    
    // Создаем еще одну карту.
      var myMap2 = new ymaps.Map...
    Ответ написан