Задать вопрос
@luckyjenro0

Как переделать данный скрипт?

Вот тут статья, в ней некая панель управления сайтом откуда можно добавлять товары и редактировать, кому не трудно можете подсказать как все это сделать без перезагрузки страницы?

сама статья https://intop24.ru/article_15_lesson_5.php

И еще: почему когда я вывожу элемент через echo php то например у него есть класс определенный, по клику на элемент с этим классом выполняется js функция, но не работает через echo, если просто то все нормально, вообщем "если вывожу через echo на страницу элементы то они как будто не видят js"
  • Вопрос задан
  • 91 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@lolzqq
HTML,CSS,JS,PHP
По основному вопросу: jquery.page2page.ru/index.php5/Ajax-%D0%B7%D0%B0%D...

По побочному: "если вывожу через echo на страницу элементы то они как будто не видят js"

1.Это значит, что в тот момент, когда ваш JS скрипт попытался обратиться к элементу - этот элемент ещё не отразился на странице, как элемент DOM.
2.Или js скрипт не подключили.
3.Или js скрипт у вас срабатывает один раз при загрузке страницы, а вот после AJAX событий - не навешивает обработчики. - скорее всего третье.

// если нужен поиск кликабельных элементов, которые вы догружаете через AJAX
 let custom_box = document.querySelector('body'); // запоминаем тэг body или другой контейнер, в рамках которого отслеживаем нажатие ЛКМ
 custom_box.addEventListener('click', function(e) { // навешиваем прослушиватель события нажатия ЛКМ наш блок
   if(e.target.getAttribute("class").search(/mybutton_class/)!=-1){
    // e.target - нажатый объект
    // .getAttribute("class") - получаем содержимое аттрибута class=""
    // .search(/mybutton_class/) - ищем в содержимом аттрибута строку с искомым названием класса
    
   // выполняем какие то инструкции с кнопкой
   }

// если нужно отследить, догрузился ли конкретный элемент на страницу, чтобы с ним работать, то либо нужно использовать callback внутри вашей AJAX функции или таймер
// таймер
    var timer=setInterval(my_function(),100); // с переменной timer связываем js таймер, выполняющий функцию my_function каждые 100мс 
    function my_function() {
        if(document.querySelector('.ajax-photo')!=null){
            // проверяем наличие на странице блока с классом ajax-photo

            // ваши инструкции

            clearInterval(timer); // этой командой отключаем таймер из переменной timer - можете не выключать, тогда инструкция будет постоянно выполняться
        };
    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы