Ответы пользователя по тегу JavaScript
  • Как сделать отправку формы через ajax без удаления post?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Слать обычным сабмитом на урл, куда редиректишься, событие сабмит перехватывать и делать проверку обычными if, если поля заполнены верно - возвращать true, иначе false. В общем как Роман Макаров написал. Тут AJAX вообще никаким боком не нужен...
    Ответ написан
    Комментировать
  • Отправка данных из нескольких форм с помощью одного ajax-обработчика. Как?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Предыдущий ответ годный, я бы еще вот так сделал $form = $(this); вместо $form = $('.form-action-1'), ибо автор явно не понимает что команда делает вовсе не то, что он хочет на самом деле...
    Ответ написан
    Комментировать
  • Как ограничить себя от беспрерывных ajax запросов?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Можно попробовать дико извратиться и поставить заголовки кеширования на 5 минут PHP-скриптом. Я так не делаю, но почему бы нет?...

    Т.е. браузер будет в течении 5 минут отдавать данные из своего кеша, и запрос до сервера не дойдет как не крутись... Если не кешировать, то сервер будет давать отлуп, но в целом нежелательная нагрузка будет иметь место, что не айс...
    Ответ написан
    Комментировать
  • JS Замена строк таблицы?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    В самом запущенном случае у каждой строки должен быть уникальный айди, и в получаемых с сервера данных для строк тоже должны быть айди и признак. что данная строка была изменена с момента итерации Х. Так же с сервера приходит номер текущей итерации, который с каждой рассылкой увеличивается. Т.е. трем разным клиентам отправляется одинаковый номер текущей итерации, который инкрементируется только в момент изменения данных каким-либо из пользователей. Далее клиент обновляет все строки в диапазоне своего текущего номера итерации и нового, полученного с сервера, после чего присваивает своему локальному номеру итерации серверный.

    При запросе клиент может отдавать серверу свой текущий номер итерации, тогда серверу достаточно будет отправлять каждому клиенту только изменившиеся строки...

    Разумеется надо как-то каждое изменение сопрягать с номером итерации и хранить эти мета-данные.

    Надеюсь не слишком сложно объяснил.
    Ответ написан
  • Как обновить обработчики jquery внутри блока продружаемого pjax'ом?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Нужно что-то вроде $(document).on('click', '#mybtn', function() { ... } );
    Ответ написан
    Комментировать
  • Почему посылается большое количество запросов от AJAX?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Попробуй preventDefault() и stopPropagation()

    Я бы не стал использовать ссылки, переназначая на них обработчики событий. Не смотря на то, что это весьма распространенная практика, лично у меня она вызывает диссонанс. Это все равно что купить гусеничный трактор, отрезать ему гусеницы, приделать колёса и так на нем рассекать, радуясь своей изобретательности... :)

    В приведенном коде явного криминала не увидел, хотя сам подход мне кажется сомнительным... Объясню свою позицию с точки зрения рацио и здравого смысла - HTML сгенеренный на сервере дорог. Нынче модно с сервера получать JSON, и шаблонизацию прогонять client-side. Это на порядок экономичнее, стало быть та же самая шелесяка в датацентре выдержит на порядок больше нагрузку...

    А если еще типовые повторяющиеся вещи кешировать...
    Ответ написан
    Комментировать
  • Как отловить ошибку загрузки фрейма?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Если фрейм грузится с того же домена, что основная страница, во фрейме поставить на onload чтобы дергало функцию в родителе, а в родителе отслеживать по таймауту, был вызов из дочернего фрейма или нет... Если фрейм грузится из другого источника, то с ним вообще затруднительно как-либо взаимодействовать... Как вариант его можно проксировать через свой домен, и подвешивать на него нужный обработчик...
    Ответ написан
    Комментировать
  • Какие технологии необходимы?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Одна проблема, не факт что у юзера ссылка окажется рабочей, т.к. сайт может проверять наличие авторизации при доступе по ссылке на скачивание, а авторизовывался отнюдь не юзер...
    Ответ написан
    Комментировать
  • Найти лучший способ сделать пагинацию?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Адская формулировка вопроса...
    Ответ написан
  • А вы сохраняете себе кусочки кода для повторного использования?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Есть блоки, которые применяются постоянно и кочуют из проекта в проект. Например роутер - блок кода, который решает, как и чем обрабатывать запрос. Или, например, блок, который готовит данные для отображения в jqGrid по AJAX запросам. Или блок, который занимается аутентификацией/авторизацией.

    В целом по мере накопления опыта за годы выкристаллизовался мини-MVC-фреймворк, который вполне справляется с возложенными на него задачами. Конечно это поделка на коленке и для серьезного продакшена не подходит, но при этом 30 тысяч уников в сутки держало на хлипеньком шаренном хостинге нормально... :) И да, ломать пытались постоянно, но безуспешно. В том числе благодаря библиотеке DBSimple.
    Ответ написан
    Комментировать
  • Почему не работает код jquery?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    После этой строки $(this).removeClass("error"); надо добавить $(".red").remove();

    Правда если класс .red еще каким-либо элементам присваивается, то они тоже удалятся... Так-что в таком случае какое-то более специфическое название классу надо придумать вместо .red
    Ответ написан
    Комментировать
  • Как убрать из набора элемент и всех его детей?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Как насчет добавить только нужным элементам класс, и ловить событие на этот класс? Причем никто не мешает добавлять/удалять класс динамически...

    Разумеется при таком подходе событие ловить лучше через $(document).on(/event/, /class/, function() {... });
    Ответ написан
    Комментировать
  • Почему pjax разрешает только один ajax запрос?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    В контроллере отвечающем за обработку AJAX-запросов что-то вроде

    header("Cache-Control: no-cache, must-revalidate");

    Разумеется заголовки отправлять до данных.
    Ответ написан
    Комментировать
  • Как скрыть первый li-элемент после генерации второго li, JavaScript-ом?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    А зачем добавлять новый элемент, если можно записать новые значение в существующий?
    Ответ написан
    3 комментария
  • Как организовать проверке input без click()?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Первую строку надо поместить внутрь блока, перед if, иначе значение выбирается еще до того, как что-либо будет введено в поле, стало быть значение равно ""

    А вообще если охота проверять значение налету, то можно ловить событие keyUp
    https://api.jquery.com/keyup/
    Ответ написан
    Комментировать
  • Где бы почитать про такую "архитектуру"?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Ember.JS
    Ответ написан
    Комментировать
  • Чем отличается код дилетанта от профессионала?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Профи знает и учитывает массу неявных нюансов. Чтобы накопить подобный опыт необходимо годы годские плотно заниматься профессией на серьезном уровне. Профи не рождаются, профи становятся.

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

    И я не соглашусь что дилетант всегда поймет код профи. Поглядите в код любого популярного современного фреймворка, их пишут профи, и даже не смотря на подробные исчерпывающие комментарии, не зная контекстов понять некоторые абстракции порой бывает невозможно, до усвоения этих самых контекстов.

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

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

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Посмотрел бегло и не смог найти .modal-backdrop, ни в коде, ни в DOM... Может потому и не срабатывает?

    Вообще что имеется в виду под спец.областью .modal-backdrop ?

    Патч решающий данную проблему там: codepen.io/anon/pen/LGBPyv
    Ответ написан
  • С чего начать программирование?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Сегодня актуален JavaScript
    Ответ написан
    1 комментарий
  • OnClick jquery почему работает только при двойном нажатии?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Ни к чему городить такой огород.

    Задавать обработчик внутри тега не совсем кошерно с точки зрения гибкости и разделения логики и представления.

    Убираем строку декларации функции function changeValue(){ и закрывающую скобку в конце блока кода }

    Из инпута убираем onclick="changeValue()"

    Декларацию обработчика клика $('.moreless').click(function() { переписываем на современный лад
    $(document).on('click', '.moreless', function() { ... } );
    данный подход универсален и работает даже если HTML добавляется на страницу динамически после инициализации обработчика события.
    Ответ написан
    Комментировать