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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Логично что если вы не можете привязать что-то к железу пользователя, есть смысл привязать свое железо к машине пользователя. Если это коммерческое решение - лучший вариант для защиты - физический ключ - донгл. Это ебатория и гемор для клиента, удорожание для вас (ну или для клиента тоже), но дает четкую связку с железом, как вы и хотели. То есть одновременно работать сможет лишь один компьютер с 1 донглом.
    Ответ написан
  • Как добавить GET запрос в URL при запросе AJAX?

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

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

    по тому что:
    $(document).ready(function () {
      $('[submit]').on('click', function (e) { //на кнопку вешается обработчик(плохо, нужно на субмит формы)
        e.preventDefault(); // останавливаем субмит с кнопки
        $(this).parent('form').submit(); // находим собсно форму и субмитим ее (непонятно зачем тогда было останавливать субмит), данные уходят на сервер методом гет
      }) // все что дальше тупо не выполняется, так что можно забить
    Ответ написан
  • Как обосновать выбор стека технологий?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    У меня чистый JS и PHP с фреймворком Laravel.
    Во первых - неизвестно сколько кода и какой функционал у вас в проекте. Естественно инструмент выбирают под задачу, а не наоборот.

    Если у вас на фронтенде нет огромного функционала по манипулированию ДОМ, это не СПА и нет смысла тянуть еще 10 библиотек ради 200 строчек кода - чистый жс лучший выбор. Плюсы - хорошо поддерживается, любой специалист среднего уровня может поддерживать, нет необходимости в дополнительных библиотеках, которые ведут к дополнительной зависимости от чужой кодовой базы, нет необходимости следить за последними изменениями в чужой библиотеке, не тянутся лишние файлы.

    На бэкенде - ларавел неплохо покрывает 90% типовых задач "искаропки", широкий выбор достаточно качественных модулей на любой чих, хорошее покрытие тестами, обширное комьюнити и качественная документация. Качество кода однозначно будет выше по сравнению с начинающим кодером, если использовать уже кем-то написанный и многократно протестированный код. Кроме того - имеет кодестайл, приучает к (относительно) качественному подходу в разработке...

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Типа так:
    let val = "Michał Wazovsky";
    const regex = /^[\p{L}]+ [\p{L}]+/gu;
    const found = val.match(regex);
    console.log(found); //["Michał Wazovsky"]
    Ответ написан
    Комментировать
  • Можно ли сделать скрипт для скачивания файлов zip с сайта, затем извлечь оттуда файлы excel, и объединенить в одну таблицу excel?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Можно ли сделать скрипт для скачивания файлов zip с сайта, затем извлечь оттуда файлы excel, и объединенить в одну таблицу excel?
    Можно.

    На сайте есть раздел с отчетами реализации товаров (от маркетплейса) в формате «zip»
    https://www.google.com/search?q=python+download+fi...
    https://docs.python.org/3.9/library/zipfile.html#m...

    Необходимо объединить все 71 файлов формата «excel» в один общий файл и 1 таблицу «excel» с добавлением столбцов
    https://www.google.com/search?q=python+excel+library
    Ответ написан
    9 комментариев
  • В чем я допустил ошибку в json?

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

    Кроме того, парсить строку совершенно не обязательно, достаточно в аяксе указать тип возвращаемого значения.
    Ответ написан
    Комментировать
  • Как запретить выделение текста в инпуте?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    отслеживать mouseup + keyup и проверять window.getSelection(), после чего document.getSelection().removeAllRanges();

    Но смысла в этом имхо никакого...
    Ответ написан
  • Сервер возвращает ответ на фронт в виде значений, как изменить стили в зависимости от этих значений?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Этих значений на фронте нет, их присылает только бэк.
    У вас может не быть ТЕКУЩЕГО состояния, но список всех состояний на фронте должен быть, иначе как вы будете знать как должен выглядеть определенный статус?

    Ну или более "извращенный" и имхо не совсем верный вариант - передавать с бэкенда кроме статуса еще и свойства, например класс, который нужно присвоить элементу с данными, или просто цвет для подсветки... Но все равно - на фронте должен быть как минимум создан этот класс, да и вообще такая фигня нарушает разделение данных и отображения. Условно если завтра у вас фронтенд поменяется, то вы будете вынуждены переносить классы из старого отображения. Не то чтобы это было прям большой проблемой, но стоит избегать такого поведения.
    Ответ написан
    1 комментарий
  • Как передать массив в JS Autocomplete из PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
  • Перестали сохраняться записи. Выдает ошибку. Куда посмотреть?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Порождаются эти запросы скриптом api.fetch.min.js
    ну так открыть его, и посмотреть где там урл формируется, либо запросы через аякс тянет, либо ифреймы... тупо поиск по файлу "http:" .

    UPD: после чашечки кофе решил поправиться, так как скорее всего проблема не в этом. Вариантов 2:

    1) Разовый глюк, 301 редирект висит в кеше, решение - обновить страницу со сбросом кеша. Проще всего проверить работу сайта из инкогнито, если работает - то это кэш.
    2) Где-то происходит принудительный редирект, и выяснять надо по месту - расставлять брекпоинты и вардампы, или искать в коде редиректы, короче смотреть в какой точке такая лажа происходит, судя по всему похоже на кривой код плагина.
    Ответ написан
  • Реально ли на чистом HTML, CSS, JS написать CRM систему как Basecamp?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    По описанию звучит как бред, НО:
    Во первых - на вашем месте (да и вообще в любом случае в будущем) - не стесняйтесь спросить - какие функции работодатель ждет от финальной работы. Может ему нужно только хтмл+цсс, ну и как-то переключаться между папочками.

    Если нет - просите развернутые задачи по каждому из предполагаемо рабочих элементов, как должен реагировать, какое поведение, откуда берутся данные, куда отправляются, в каком формате...

    После этого четко распишите задачи для себя, что и как по порядку будете делать. Если сможете - крайне желательно напротив каждого пункта написать время, сколько вы будете реализовывать то или другое задание. По идее за вас это должен был сделать "сенпай", но если не сделал - значит постановка задач в конторе хромает на обе ноги, и тут уже вам решать - будете ли вы и далее в таком режиме работать или будете искать другую работу. С одной стороны - хорошо научитесь декомпозировать задачи и обосновывать сроки, с другой - сверху должны понимать что сроки соответствуют описанным вами и выделять затребованное время.
    Ответ написан
    2 комментария
  • В чем ошибка js?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Uncaught TypeError: Cannot read properties of null
    Читаем ошибку, потом внимательно читаем ошибку.

    Я понимаю что можно найти ответ в интернете но я минут 10 полазил так и не понял.
    Почему не поняли? Что-то в объяснении из интернета вам не понятно? Так вот то что не понятно и и надо спрашивать.

    Выдержка с первого же сайта в выдаче гугла:
    TL;DR;
    You are accessing a property of an object that is null. For example, document.getElementById('stuff') returns null. So adding .value will cause the error.
    You are trying to access a DOM element before the DOM is ready. Use onload or DOMContentLoaded.
    Test if an object is valid before accessing its property.
    Что из перечисленного непонятно?
    Ответ написан
    Комментировать
  • Как посмотреть что отправляет форма?

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

    И вообще можно посмотреть что уходит постом?
    для посмотреть что отправляется - смотрите девтулс - нетворк, там все видно.

    я больше всего понять не могу, почему форма отправляется с кнопки, а через jquery нет.
    Значит какое-то условие в вашем коде не выполняется, логично же. Ставьте console.log() по ходу выполнения цепочки, смотрите значения, думайте...
    Ответ написан
    1 комментарий
  • Как подгрузить данные из JSON после изменения контента через DOM?

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

    Допустим, человек выбрал "Product 1"
    Да что там за "выбрал" такой???

    (продуктов на самом деле несколько, и для каждого в файле создана функция, которая меняет/обновляет данные в соответствующем div, p или теге span).
    Сурово...

    Для некоторых элементов (которые подгружаются в виде ссылок) я хотела бы вывести более подробное описание в модальном окне, но это у меня не выходит.
    Описания ссылок? Элементов? По какому действию должно появляться модальное окно? По клику? На линк продукта? Или куда?

    Подскажите пожалуйста, возможно ли каким-то образом подгружать данные в модельное окно после добавления/обновления элементов с контентом?!
    Что за элементы с контентом - новые продукты? Или продукты не меняются, а меняются только описания?

    Крайне запутанно и код выглядит достаточно странно, похоже что вы делаете какую-то достаточно распространенную и простую задачу, очень специфическим методом, и крайне запутанно объясняете что надо сделать...

    Попробуйте как-то простыми словами нормально описать что надо, или еще лучше - приведите пример на другом сайте с подобным функционалом.
    Ответ написан
    Комментировать
  • Как устроен принцип работы пагинации?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Пагинация делается в связке - бэкенд высчитывает нужный кусок контента, исходя из длинны контента на страницу и номера страницы соответственно. Номер страницы передается в параметрах запроса (собственно ссылке из блока пагинации). Фронтенд - обычно хтмл блок, построенный с помощью цикла на языке бэкенда (например пхп), отображает в браузере соответствующие ссылки, исходя из общей длинны контента, и деля его на размер контента на одну страницу. Можно его построить и на яваскрипте, но данные для построения (текущая страница, всего страниц) передается с бэкенда, так как там хранится выбранная информация.

    В редких случаях используют "фиктивную" пагинацию на js, то есть весь контент загружают как список с бэкенда, а на фронте делят его на куски, и по нажатию показывают кусок соответствующий номеру страницы.
    Ответ написан
    5 комментариев
  • Как выполнить window.location в новом окне, если зажата клавиша ctrl?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    if (!e) e = window.event;
      if (e.shiftKey) {/*shift is down*/}
      if (e.altKey) {/*alt is down*/}
      if (e.ctrlKey) {/*ctrl is down*/}
      if (e.metaKey) {/*cmd is down*/}


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

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

    Например вы в итоге хотите показать 10 фильмов в ленте рекомендаций, 50% боевиков, 30% драма, 10% комедия и 10% научпоп. Делаете 4 отдельных запроса с соотвтетствующими лимитами на каждую категорию (5,3,1 и 1 соответственно), склеиваете полученные массивы - профит.

    PS: Для того чтобы они потом не шли по порядку, а были худо-бедно в разброс, неплохо по итогу перед выводом сделать аррэй_шаффл.
    Ответ написан
    Комментировать
  • Как сделать так чтобы в назначенное время код переставал работать?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Любой код, не завязанный на сторонний сервис хотя бы частично, можно "оптимизировать" для работы без вас )
    По этому любые варианты кода в аренду не работают. Ну или работают недолго. Можете разбить код на части, типа клиент-сервер, клиентская часть будет выполнять запросы к вашему серверу, а сервер уже выполнять ваш мегасекретный алгоритм сортировки пузырьком...
    Ответ написан
    Комментировать
  • Как зделать чтобы кнопка добавляла товар в корзину больше 1 раза на Java скрипте?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    2 варианта:
    1) Массив js со всеми продуктами, ключи - айдишники товара, значение - объект, где есть количество и цена. По клику передавать айди товара в обработчик, поменять количество, из массива перерендерить либо весь блок корзины, либо значения суммы на товаре, количества на товаре и общую сумму, по вкусу.

    2) Аяксом отправлять на сервер айдишник товара, оттуда получать отрендеренный блок корзины, или же массив как в первом варианте и дальше все так же.

    Второй вариант как-бы логичнее, хранение на сервере данных и их добавление/обработка более контролируемо. Первый проще в реализации, не требует дополнительно дергать бэк, но меньше контроля (например, невозможно точно определить есть ли достаточно товара на складе).
    Ответ написан
    Комментировать