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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Открываем консоль браузера, идем во вкладку нетворк, включаем кнопочку XHR, делаем запрос.
    Смотрим:
    1) куда ушел запрос(неплохо бы открыть из браузера, а в коде на сервере вывести какой-то проверочный стринг),
    2) Что вернул сервер(кликаем на запрос в списке нетворк вызовов и смотрим ответ сервера)
    В идеале сервер вернет JSON строку с объектом, в котором уже будут все нужные поля, но в вашем случае явно что-то не так.
    Соответственно проверяйте - уходит ли запрос, туда ли уходит и что возвращает сервер.

    Забыл написать - ошибки яваскрипта в консоли проверьте в первую очередь.
    Ответ написан
    Комментировать
  • Почему не отрабатывает ajax?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    просто загружается пустая страница с dost.php.
    что не удивительно, форма просто субмитится, никакой аякс у вас просто не успевает обработаться, как это предотвратить я вообще то с комментариями расписал в вашем прошлом вопросе.
    как проверять что происходит:
    для яваскрипта есть 2 варианта:
    a) нубский вариант - alert('some string'); в принципе позволяет понять что и куда пришло в ходе выполнения скрипта
    б) тру подход - console.log(some_var); - выводит в консоль браузера подробную информацию о переменной
    Далее - в целом инструменты разработчика в хроме(F12) или например фаерфоксе, которые отслеживают много чего, их вы должны знать хотя бы в общих чертах, почитайте как работать с ними, материала масса.
    Теперь - что и куда(и как) отправляется:
    Вкладка нетворк в инструментах разработчика показывает все запросы по сети(включая закэшированные), их можно отфильтровать по типам, что очень удобно для отслеживания например именно аякс запросов. В составе каждого запрошенного элемента в частности есть метод, урл, данные и ответ сервера. По нему можно смотреть что отвечал сервер в ответ на аякс, не нужно никаких файлов и прочей хрени, просто смотрим ответ сервера.
    На стороне пхп - ПЕРВЫМ ДЕЛОМ если мы отсылаем какие-то данные мы проверяем в каком виде они пришли, то есть первой строчкой при отладке делаем var_dump($_POST); exit; и смотрим что пришло к серверу.
    Ответ написан
  • Как пробросить UTM метки внутри сайта?

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) вообще то это должно быть просто 2 модальных окна, одно с формой, другое с надписями,
    2) соответственно отправляем форму аяксом, получаем ответ с сервера,
    3) в любом случае закрываем модалку с формой, открываем модалку для текста,
    4) назначаем таймаут функции, которая закроет модалку с текстом и откроет форму
    5) в модалку с текстом вставляем фразу, которую сервер вернет в результате обработки запроса из формы
    6) если на сервере все прошло ок - чистим форму: $('form').reset();
    7) Profit
    Ответ написан
    Комментировать
  • Почему не срабатывает .submit?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) судя по тому что на форму навешано всяких дата атрибутов - что-то стороннее уже юзает ее, посмотрите в инспекторе что висит на этой фоме из листенеров.
    2)попробуйте
    $('#form88826033').submit(function(e) {
    // я бы еще попробовал $('.t-form_inputs-total_3').submit(function(e) {
            e.preventDefault();
            console.log(this);
            _rc('send', 'order', {...

    и посмотреть чего там в консоль падает.
    Ответ написан
  • Как сделать preloader в php до загрузки html?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    есть вариант без аякса:
    1) делаете ссылку на страничку с прелоадером, то есть весь контент - только прелоадер
    2) Делаете на ней js: location.href = 'урл с гет параметрами который долго грузится'
    3) Profit! пока пхп не отдаст содержимое страницы с вашими тяжелыми запросами будет крутиться прелоадер, потом сразу загрузится вся тяжелая страничка.
    Ответ написан
    Комментировать
  • Сделать raycasting на js?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
  • Вывести рейтинг каждого фильма?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых - у вас в цикле выводится лишний закрывающий тег див(или отсутствует открывающий в начале).
    Во вторых - 2019 год, за использование mysql_query по рукам лопатой на!
    В целом - код в котором и запросы и вывод и все-все-все в одном месте свалено в кучу - говнокод в его чистейшем проявлении.

    Касаемо кода запроса рейтинга - оберните все 3 дива в общий тег (див/спан/секшн - не важно), тогда код будет примерно такой:
    $(function (){
      $('.plus').on('click', function (){
      var dd = $(this).attr('data-plus');
      var box = $(this).parent().find('.summa');
      $.ajax({
         url: 'shablon/film_plus.php',
         type: 'POST',
         data: {"dd":dd},
         success: function(html){
            box.html(html); // подразумевается что в html возвращается рейтинг фильма
         }
      });
    });
    });
    Ответ написан
  • Можно ли получить значение data атрибутов в переменную php?

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

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

    Если оно должно динамически изменять контент на текущей странице - аякс запрос на скрипт(у вас он вроде верный, не хватает обработчика ответа), скрипт уже формирует данные и отдает в ответ на аякс запрос по вкусу - кусок хтмл или json данные, смотрите с чем вам удобнее будет оперировать.
    Ответ написан
    3 комментария
  • Как отправлять в ajax функцию вместе id продукта и его quantity?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) функция у вас должна принимать 2 аргумента, вы ей передаете 1. Соответственно второй аргумент андефайнед.
    2) для того чтобы получить значение квантити его передавать не надо, так как вы его заранее не знаете. Вместо этого: уберите второй аргумент в функции. Вместо этого используйте this как опорный объект, от него находите парент (это будет див оборачивающий ваш блок, в вашем случае div.button-group), и в нем ищете .input_quantity.val()(это будет количество ) и вот его уже передаете в параметрах аякса.
    Ответ написан
    5 комментариев
  • Как сделать чтобы у каждого цикла был свой рейтинг правильно написать ajax запрос?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Используйте нормальные переменные, и вам легче будет и другим читать без матюков станет возможным. Ну что за название переменных ya, as? summa и reiting тоже доставляют, неужели лень посмотреть как это по английски пишется? Двойная польза - и язык учите и чтаемость повышаете же.
    2) Не понятна проблема, как вам указали в комментарии - это параметр у вас уже есть в первоначальной выборке, зачем вы его тащите аяксом - загадка.
    3) function film(){...} - те же ошибки - во первых что за название? Что делает эта функция? Фильм? Вы что, из принципа экономите буквы? Нельзя нормально написать function getMovieRate(movieId){...}?
    4) В большинстве случаев надо пользоваться "чистыми" функциями, то есть(упрощенно) функция не должна менять окружение, она должна принимать параметры и возвращать результат. У вас же она что-то мутит с элементами не принимая никаких параметров...

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Для этого в хроме есть инспектор, откройте обе странички, сделайте инспект на этот линк в обоих открытых страницах, во вкладке "евент листенерс" посмотрите что повешено на события клик в одном и в другом случае(думаю разница будет очевидна).
    Ответ написан
    8 комментариев
  • В каких случаях лучше создать клон объекта вместо работы с оригиналом?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Очевидно в случае когда надо получить набор разных объектов с одинаковой стартовой схемой, например когда есть 10 разных слайдеров(упрощенно) и объект базовой инициализации с основными параметрами. Для недублирования 10 раз этого объекта - создаем клон и меняем 1-2 параметра.
    Ответ написан
    1 комментарий
  • Мульти-загрузчик изображений не AJAX. Готовая библиотека?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Комментировать
  • Как создать аналог Flash приложения на HTML, CSS, JS?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    канвас + жс все это умеет. Тыц.
    Ответ написан
    Комментировать
  • Как исключить перезагрузку страницы при передаче параметра POST?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    У вас почти все верно. Кроме обработки ответа. Success принимает в качестве параметра строку принятую в результате выполнения операций на сервере.
    Success(data){
    Console.log(data);
    }
    Ответ написан
  • Как передать код статического метода класса PHP через ajax?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Echo class::method();
    Exit;
    Ответ написан
    3 комментария
  • Как сделать ajax поиск с keyup задержкой для уменьшения нагрузки?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    простой вариант:
    let timer;
    $("#search").keyup(function (a) {
    if(this.value.length < 3) return true; // не искать если меньше 2 букв
    let keyPause = 200; // задержка в нажатии кнопок
    let that = this; 
    clearTimeout(timer); //сбрасываем таймер если задержка меньше заданной
    timer = setTimeout(LiveSearch(a, that.value), keyPause); // запускаем поиск спаузой
    })
    Ответ написан
    Комментировать
  • Как отправить форму без перезагрузки страницы?

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    $(window).load(function() {
    замените на
    $(function() {
    Ответ написан