Ответы пользователя по тегу JavaScript
  • Загрузка данных в модальное окно Ajax-ом?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Было бы странно если бы он работал.
    $(document).ready(function () {
        $('.modal__slider-main').slick({
    ...

    А теперь подумайте, при загрузке этого кода ГДЕ находится элемент $('.modal__slider-main')?
    Ответ написан
  • Как показать модальное окно после обновления страницы?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) Сессии
    2) Куки
    3) Локал Сторэйж
    при срабатывании формы ставится флаговая переменная, при загрузке страницы она проверяется:
    1) яваскриптом(куки/сторэйдж) и выполняет попап
    2) Серверсайд скриптом(читает сессию/куку), и вставляет яваскрипт появления попапа.
    Ответ написан
    Комментировать
  • Как подставить нужное значение в «сложное» поле?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    во первых - гадание по фантомному телу функции уже не модно(код приведите),
    во вторых - так как в тегах есть пхп - предполагаю что нужно написать еще:
    а) Аякс запрос на сервер с идентификатором товара в качестве параметра;
    б) Обработчик на пхп который привяжет через запись в базе товар с пользователем.
    в)
    Но когда продублировал так 8 карточек, для примера заметил, что на остальных, то функция не работает (логично)
    значит на этих элементах не повешены обработчики(логично)
    Ответ написан
    Комментировать
  • Стоит ли передавать значение переменной из php в js?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    за - просто и понятно, чаще всего работает без проблем
    против - надо следить чтобы $some_value; всегда было определено, иначе рискуете поломать весь js расположенный ниже по коду(как вариант - проверять на емпти и сетить дефолтным значением).

    Как альтернатива - по событию загрузки документа/по требованию приложения запрашивать аяксом значение , то есть тогда когда оно реально понадобится для логики приложения.
    Ответ написан
    4 комментария
  • Практика построения графиков?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    логично выбирать данные для графика во время получения прочих данных для отображения страницы, пихать их, например, в json и на клиенте яваскриптом строить по ним график, куда уж проще.
    Ответ написан
    Комментировать
  • Аналоги js в web?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Фишка в том что исполнять код должен браузер, который на лету должен создать и выполнить код, то есть иметь вполне себе компилятор в собственном ядре. Пихать их "сколько хочешь" во все браузеры никто не будет, жс пилили общими усилиями больше 20 лет, а довести до ума и кроссбраузерной совместимости до сих пор не до конца удалось. По этой причине ожидать какой-либо поддержки других языков в браузере в ближайшее время не стоит.
    Ответ написан
    Комментировать
  • Как прикрепить файл к форме Ajax?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых - метод формы должен быть POST
    Во вторых - в любом материале из поиска гугула описано подробно как и что делать, в частности указаны ОБЯЗАТЕЛЬНЫЕ атрибуты для отправки файлов:processData: false, contentType: false,, однако сравнить 3 строчки вы поленились.
    В третьих - в обработчике соответственно все параметры передаваемые на сервер будут $_POST, а файл будет лежать в отдельном глобальном массиве $_FILES.
    Если вы совсем не разбираетесь - обратитесь на фриланс, в противном случае данной информации должно быть достаточно для решения вашей задачи.
    Ответ написан
    Комментировать
  • Как правильно вывести историю диалога двух пользователей?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как из этой таблицы выбрать историю диалога когда известен id отправителя, например 1

    Историю диалога(одного) можно выбрать имея 2 идентификатора - пользователя_1 и пользователя_2.
    Историю переписок(всех конкретного пользователя) можно получить используя только 1 id - данного пользователя.
    Историю переписок(всех конкретного пользователя, где этот пользователь именно отправитель) можно получить используя только 1 id - данного пользователя.
    Вам что из этого надо?
    Ответ написан
  • Как остановить отправку формы?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) убрать goPrice() вообще, и из кода и из онклика
    2) Повесить событие на субмит формы(вообще в идеале форма должна иметь id или другой селектор для удобного выделения)
    3) В обработчике события первым действием выполняем preventDefault();
    4) Проверяем что там должно/недолжно совпадать
    5) Субмитим форму / выдаем алерт или что там в случае ошибки...
    Ответ написан
    Комментировать
  • Как отправляли запросы в JS до AJAX?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    До того как поддержка XMLHTTPRequest появилась во всех браузерах использовали скрытый ифрейм, в котором и выполнялись все запросы. Дешево и сердито ) Ну и куча асспейн в нагрузку )
    Ответ написан
    Комментировать
  • Что происходит когда нажимаешь на кнопку input type=submit?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Как я понимаю: создается POST AJAX-запрос к указанному адресу.
    Нет, происходит субмит формы, никакого аякс запроса по умолчанию не создается, обычный запрос, пост или гет зависит от метода указанного в форме.

    Но после получения ответа от сервера (в моем случае status=200) браузер переходит на адрес запроса в показывает ответ запроса в html.
    Так и должно быть, браузер отсылает форму и переходит по урл отсылки чтобы получить ответ.

    Как это обработать, как сделать так, чтобы браузер никуда не переходил и не показывал пользователю ответ?
    Гуглите "отправка формы ajax" - миллион статей.
    Ответ написан
    Комментировать
  • Что прописать нужно чтобы файл html автоматически чистилcя в кэше браузера и показывал последние изменения?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    клиент как только обновит страницу, у него больше не показывалась старая информация, а показывалась новая.

    Неправильный ответ - прописать заголовки кеширования на короткое время, магия, чистка кэша и вот это все

    Правильный ответ - не использовать файлы с одинаковыми именами для динамически меняющегося контента.
    Поясню: файлы js, css, изображения и прочие элементы дизайна и функционала должны кешироваться, они не являются динамической информацией и не должны часто меняться. Отключать кеширование для них - глупо и чаще всего бесполезно(вы же не храните прайс в js файле надеюсь?). Информация же динамическая (в вашем случае прайс) либо в виде текста лежит(что вообще не кешируется по умолчанию), либо лежит у вас в виде файла типа price.xls. И вот во втором случае уже будут проблемы. И тут есть 2 нормальных решения: первое - делать уникальные имена для прайсов(например добавлять дату изменения, что логично и удобно как вам так и клиенту), либо после ссылки на файл добавлять уникальный гет параметр, в итоге ссылка файла будет выглядеть как price.xls?date=220519. Тоже приемлемый вариант, но уникальное имя лучше/удобнее.
    Ответ написан
  • Как сделать возможность вписать в форму произвольное число?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    есть 2 варианта:
    1) передавать в ваш инпут строку типа "название_ид_тип" и на сервере обратно разбить и обработать. Решение так себе, например есть косяк с тем что имя вполне может содержать "_", но позволяет вам не сильно менять логику.
    2) выводить выпадающий список не селектом, а нормальным списком(див или ул), в дата атрибуты которого прописать соответствующие данные(имя, ид, тип), по клику в 3 поля формы разносить эти данные и получить нормальную форму.
    Ответ написан
    Комментировать
  • Как сохранить данные на клиенте после перезагрузки страницы?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Пытаюсь через localstorage, но после перезагрузки всё пропадает,
    код в студию, магии не бывает, а телепаты в отпусках

    единственное что работает, хранение на сервере, но если я буду хранить там,то эти данные раздадутся на всех,
    Сессии для этого есть, тогда можно хранить на сервере "не для всех".
    Ответ написан
  • Эквивалентно ли if (условие) условию if (условие === true) и аналогично с if (!условие) условию if (условие !==)?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    самое очевидное: if(1) != if(1===true) как минимум, просто посмотрите что в екмаскрипт удовлетворяет выполнению ифа.
    Ответ написан
    Комментировать
  • Как сделать так, чтобы по нажатию на кнопку в form отрабатывала JS-функция, а сама форма игнорировала отправку?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    action="javascript:void(0);" onsubmit="call()" это дичь редкая, есть же листенеры событий, я не ас в чистом js, но на jq нужно что то такое
    $(function(){ // по загрузке всего документа выполнить
      $('#request').on('submit', function(e){ // вешаем листенер на форму, по срабатыванию запускаем код
         e.preventDefault(); // останавливаем отправку формы
         some code // делаем что-то
      })
    })


    UPD: Ниже подтянулись мэтры и выдали более чистые решения на ванилла жс.
    Ответ написан
    Комментировать
  • Как на js определить время выполнения ajax-запроса?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    При ставрте аякс запроса
    1) выставить флаг процесса отправки
    2) Запустить таймер на эн секунд который проверит флаговую переменную и выведет в консоль сообщение в случае если она установлена(и сбросит ее)
    3) По завершении аякса в суксесс/доне сбросить флаг.
    4) Profit
    Ответ написан
    2 комментария
  • Как убрать checkbox-2шт.?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    document.getElementById('start').onclick = function (){
    if (document.getElementById('start').checked == true){
    document.getElementById('finish').checked = true;}
    else {document.getElementById('finish').checked = false;}
    }
    Ответ написан
    Комментировать