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

    @AndryG
    Вы термины путаете кликаю, нажимаю и фиг поймешь, что вы хотите. Когда же писатели начнут читать ? :)
    Каждое предложение - отрывок мысли. Поди догадайся, что он хочет.
    Проблемы вы описали, не указав, что на самом деле надо. Только отсылки к другим версиям, здесь не представленным.

    У вас проблема именно с enter или проблема с моргающим input? Если так, то какое у него должно быть поведение? Кликнули на кнопку, открылся input, нажали enter .... и что ожидается (input пропал / не пропал)?
    Ответ написан
    63 комментария
  • Вставить url страницы, при Ajax подгрузке части контента, но не переходить по ней?

    @AndryG
    единственная проблема что ссылка не меняется, а хотелось бы что бы ссылка заменялся на ссылку страницы, с который был вытянут контент.


    Если под ссылкой здесь понимается ссылка на текущий документ в строке адреса страницы, то (сразу пишите про это, а не ссылка-ссылка-ссылка) вам в помощь history - примочка браузера, которая меняет ту самую ссылку управляет историей в строке адреса :)
    Ответ написан
    Комментировать
  • Насколько будут нагружать сервер ежесекундные ajax запросы?

    @AndryG
    Без keepAlive будет уходить много времени на соединение, а ssl рукопожатия вообще долго могут проходить.
    С keepAlive, насколько я понимаю, каждый пользователь сервера отберет себе монопольно worker, что ограничивает к-во одновременных пользователей.

    Нужно озвучить фичу
    Ответ написан
    2 комментария
  • Почему браузер некорректно воспринимает кодировку js файла?

    @AndryG
    Если в .js файл добавить BOM метку, то бразуер образумится и прочтет скрипт как UTF8
    Ответ написан
    Комментировать
  • По какой схеме работают агрегаторы платежных систем и как реализовать такую схему для личного пользования?

    @AndryG
    Вижу ваш вопрос как две задачи:
    - избавиться от чужих агрегаторов и научиться самому работать с разными платежными системами напрямую
    - научить мою одну точку оплаты работать с несколькими моими же точками продаж.

    Если всё верно, то первый вопрос реализуется очень просто. Достаточно изучить пяток апи разных платежек. Могу поделиться своим вариантом (серверной частью) (сейчас его и перекраиваю из опыта использования https://toster.ru/q/327212).

    О второй части предлагаю подумать ещё раз. А надо ли оно? Если у вас будет универсальный код/модуль/плагин для оплаты, то что вам мешает раскидать его на разные сайты? Большинство платежный систем поддерживает "один договор/учетка и много магазинов".
    Вводя дополнительные "пробрасывания/шифрования/и т.д." вы добавляете лишние звенья, увеличиваете шанс уязвимости, уменьшаете надежность системы в целом.
    Ответ написан
    Комментировать
  • Фреймы - является ли хорошим тоном их использовать?

    @AndryG
    Юзайте и готовьтесь к головной боли :) На мобильных устройствах будет совсем ужась.

    Не хотите подгружать форму сразу - подгружайте скриптом. Экономия на CSS очень сомительна. А у вас, кстати, css сжатый клиентам отдается или с кучей пробелов, комментариев и переводов строк?
    Ответ написан
    Комментировать
  • Как работает навигация по DOM?

    @AndryG
    Попробуйте вот такой код.
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <title></title>
      </head>
        <body>
          <h1 id="heading1">My Heading</h1>
          <p id="paragraph1">This is some text in a paragraph</p>
          <script>
            var h1Element = document.getElementById("heading1");
            h1Element.style.color = "red";
            var pElement, color;
            if (h1Element.nextSibling.nodeType == 1) {
              pElement = h1Element.nextSibling;
              color = "green";
            } else {
              pElement = h1Element.nextSibling.nextSibling;
              color = "blue";
            }
            pElement.style.color = color;
          </script>
        </body>
      </html>


    h1Element.nextSibling.nodeType == 1 проверяет "сосед элемента h1 является элементом (не текстом и не комментом, а "тегом")"

    Соседом h1 является сейчас текст "перенос строки с пробелами" и параграф будет синий.
    Если разрыв между параграфом и заголовоком уберете
    <h1 id="heading1">My Heading</h1><p id="paragraph1">This is some text in a paragraph</p>
    , то параграф позеленеет - начнет работать другая ветка условия.
    Ответ написан
    Комментировать
  • Как правильно спроектировать классы?

    @AndryG
    У работника сделать метод setCompany(Company) и с его помощью пусть компании прописываются у работника при изменении списка своих работников. (одна компания увольняет сотрудника, прописывая в поле работника вместо себя NULL, а вторая заполняет это поле)

    Важно чтобы код, поддерживающий циклические ссылки, был один.
    Очень плохой вариант, когда в обоих классах есть код, который правит одно и то же звено цепочки.
    Ответ написан
  • Цикличный таймер?

    @AndryG
    Не легче расчитывать цену, зная дату установки начальной цены и текущее время?

    Цена увеличивается каждые 3 дня начиная с 1го числа месяца.
    Я теряюсь дальше подсказать. Трудно угадать, что как сколько должно отсчитываться.
    Ответ написан
  • Как сделать так, что бы при выводе алерта с датой рождения указывалось окончание год, лет, года. например (тебе- 11 лет, тебе 4 года)?

    @AndryG
    function endingsForm(n, form1, form2, form5){
      var last_digit = n % 10;
      var last_two_digits = n % 100;
    
      if(last_digit == 1 && last_two_digits != 11){
        return form1;
      }
      if((last_digit == 2 && last_two_digits != 12)
          || (last_digit == 3 && last_two_digits != 13)
          || (last_digit == 4 && last_two_digits != 14)){
        return form2;
      }
      return form5
    }
    
    endingsForm(years, "год", "года", "лет");
    Ответ написан
    Комментировать
  • Как использовать attr в jquery?

    @AndryG
    $('#button-c-p-save-file')
    Вы используете селектор "#"
    ...считается, что идентификаторы должны быть уникальны на странице, поэтому, найдя первый элемент с требуемым id, jQuery прекращает поиск и возвращает только его.


    А дальше вы неверно используете data-атрибуты.
    В jQuery используется функция data() и внутренний механизм хранения данных.
    Значения html атрибутов data- используются только для инициализации этого хранилища и только. Поэтому дальше вам надо не значения атрибутов менять, а укзывать новые значения через data()
    $('селектор').data({
        buttonIdFile : id_file,
        buttonIdApp: id_app,
        buttonNameFile: file_name});
    // черточка в имени параметра преобразуется в верблюда,
    //   а начальное data- отбрасывается совсем
    Ответ написан
    Комментировать
  • Как работать с атрибутами data-* в jQuery?

    @AndryG
    alert($('#1').data('modalName'))

    Черточка в названии - это способ обозначить верхний регистр в регистронезависимом HTML.
    api.jquery.com/data/#data-html5
    Ответ написан
    Комментировать
  • Как удалить "сиротские" обработчики событий jQuery?

    @AndryG
    $(document).on('click', '.modal-content a.select', function(e) {

    Вы обработчик вешаете на документ и висеть он будет до перезагрузки страницы.
    e.stopPropagation() останавливает выполнение, но память скрипт жрет.
    Навешивайте обработчик на элемент, который удалится при закрытии модального окна.
    Ответ написан
  • Как в jQuery создавать событие с каждым поворотом колесика?

    @AndryG
    событие wheel
    Ответ написан
    Комментировать