Ответы пользователя по тегу JavaScript
  • Как сгенерировать ссылку исходя из выбранных пунктов в select?

    Dark_Scorpion
    @Dark_Scorpion
    Чем form не подходит?
    Он в зависимости от выбранных инпутов и чекбоксов по параметру name формирует запрос c параметрами выбранными пользователем.
    <form action="/com">
    <select id="main1" name="main1">
              <option value="1">1</option>
              <option value="2">2</option>
              <option value="3">3</option>
     </select>
    <select id="main2" name="main2">
              <option value="4">4</option>
              <option value="5">5</option>
              <option value="6">6</option>
     </select>
    <select id="main3" name="main3">
              <option value="7">7</option>
              <option value="8">8</option>
              <option value="9">9</option>
     </select>
    <input type="submit">
    </form>
    В итоге получите запрос http://site/com?main1=1&main2=5&main3=9
    Ответ написан
    Комментировать
  • Функция стрелка на событие, как назначить this?

    Dark_Scorpion
    @Dark_Scorpion
    Стрелочные функции предназначены для упрощенной работы с контекстом. Если его по сути нет (вызывается не в функции или калбеки) использовать её не стоит. Или посмотреть код на предмет рефакторинга.
    Если уж сильно надо, можно такой вариант:
    function fullTextOnClick (context) {
      context.classList.add('_active');
    }

    Но я считаю этот код, плохим стилем в js.
    Ответ написан
    Комментировать
  • Как записать значение из cookie в динамическую форму?

    Dark_Scorpion
    @Dark_Scorpion
    Из куки? Страница не грузится из куки, она может быть сформирована с учётом куки-файлов!
    PHP: использовать переменную куки $_COOKIE при отдачи страницы.
    JS: переменная document.cookie
    Или вам нужна подсказка как именно вставить эту информацию в объект?
    Ответ написан
  • Как сделать корзину покупок на React + localStorage?

    Dark_Scorpion
    @Dark_Scorpion
    В чём собственно сложность?
    В таблице делаешь ссылку на события в реакт компоненте на добавления вещи в localstorage (ls), заодно и показывания модального окна. Содержимое окна берётся из ls и красиво парсится в html. Разумееется идёт работа через state и render.
    При нажатии "оформить заказ", активируется другое событие, которое тоже показывает уже красиво сделанное окно с готовым заказом.
    Работа с ls и отображение содержимого можно глянуть в простеньком компоненте : https://github.com/DarkScorpion/React-OpenWeather-...
    Так 3 ветки: просто strict mode, ES6, Webpack. Выбирай любую которую проще понять.
    UPD: Добавил ветку Redux. Он как раз предназначен для взаимодействие между компонентами на одной странице. Он является по сути центральным хранилищем состояний. Эта ветка больше подходит для решения вашей задачи. Redux это реализация архитектуры flux, её желательно почитать, чтоб лучше разобраться в примере.
    Ответ написан
    5 комментариев
  • Как сохранить тип объекта в JavaScript после JSON преобразований?

    Dark_Scorpion
    @Dark_Scorpion
    Такого механизма нету, потому что сравниваются объекты, а они разные! Но можно сравнивать, не по ссылке, а по содержанию, т.е. сравнивать строки json или пробежаться по полям сравнивая их значения.
    Ответ написан
    Комментировать
  • Как отправить содержимое div из формы на почту?

    Dark_Scorpion
    @Dark_Scorpion
    У вас получается строка запроса, если вам нужно просто работать с данными из формы то лучшее использовать serializeArray() В результате, вы получите массив с данными
    [
      {
        name: "a",
        value: "1"
      },
      {
        name: "b",
        value: "2"
      }
    ]
    Ответ написан
  • Как распарсить JSON от сервера?

    Dark_Scorpion
    @Dark_Scorpion
    Приведите пример кода который не работает у вас. Просто на первый взгляд всё просто: есть json строка, из которой легко делается объект, с которым уже стандартное взаимодействие.
    Ответ написан
    Комментировать
  • Определение родитель, а затем дочернего элемента через this?

    Dark_Scorpion
    @Dark_Scorpion
    Напишите пример кода.
    Скорей всего у вас this меняется попадая в функцию обработчик. Чтоб избавится от проблемы надо сохранить this в переменную.
    Ответ написан
    Комментировать
  • Sublime text tab size)?

    Dark_Scorpion
    @Dark_Scorpion
    Sublime меняет только отображение, tab'ы остаются при этом. Гитхаб же показывает установленный у него размер tab'а.
    Опция:
    "translate_tabs_to_spaces": true
    сделает, чтоб при нажатии tab автоматом ставились пробелы указанной длины. При вашей настройки будет 2 пробела и будет при этом автоматическая подгонка, как при tab'ах.
    Ответ написан
    1 комментарий
  • Насколько устойчив этот метод шифровании?

    Dark_Scorpion
    @Dark_Scorpion
    Обычное симметричное шифрование на хоре! Ломается очень быстро!
    Во первых шифр основан на хоре без создания шумов, а значит операция обратима (шифрованный текст + исходный текст = ключ).
    Вторая более сильная слабость можно подбирать на коротких промежутках ключ, т.е не 20 символов, а 5 и если появится читаемый текст, пол дела уже сделано.
    Ответ написан
    Комментировать
  • Как обработать динамические таблицы с правильной выгрузкой данных?

    Dark_Scorpion
    @Dark_Scorpion Автор вопроса
    Увидел уведомления о своём вопросе, и решил отписаться как всё таки тогда решил проблему на js
    1) Создал шаблонный объект который имеет все нужные поля и клонировал когда создавал новый.
    2) Создал ассоциативный массив соответствий, например {машина: car, дата выпуска: releaseDate} (titleArr)
    3) Пробегался по первой строке таблицы считывая значение, ища его в массиве соответствий и записывая английское имя из массива. titleArr -> keyArr
    4) Ну а потом просто пробегался по строке таблицы и первое значения записывал с первым ключом из итогового массива п.3, второе со вторым и т.д resultObj[keyArr[i]] = rowDataArr[i];
    ВАЖНО: У этого алгоритма есть слабое место которое надо учесть: нужно знать ВСЕ возможные названия столбцов для п.2 Иначе можете потерять данные и более того вся таблица съедет. На всякий случай стоит сделать проверку длин массивов из п.3 (tirleArr.length == keyArr.length) Если вдруг нужного значение в массиве соответствий не будет, то и длинны будут разные и вы будете знать где искать проблему.
    Ответ написан
    Комментировать