Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 08.02.2018, 20:31
Аватар для kupidon
Аспирант
Отправить личное сообщение для kupidon Посмотреть профиль Найти все сообщения от kupidon
 
Регистрация: 18.03.2016
Сообщений: 69

Блин, спасибо огромное за скрипт. Завтра буду весь день переваривать ваш код.
Теперь по месту его применения.
Вот что я делаю: есть страница на которой два блока. Один блок со списком товаров, второй блок - скрытый, в нем будут отображаться характеристики выбранного из списка товара.
Нажимаю на строку списка, этот блок скрывается, отправляется ajax запрос к бд, получаю данные о товаре и вывожу их во втором блоке. Во втором блоке также формируется и отображается форма выбора файлов для загрузки фото товара. Обращаю внимание: весь код второго блока формируется в js.

Вот только при таком раскладе форма не работает как надо. Я подозреваю что скрипт обработки этой формы находится не на своем месте.

edit_items.js- файл со скриптами. Вот его структура:
jQuery(document).ready(function ($){
....
тут ajax скрипт отправки формы в обработчик 
...
}); 
.....
// Далее пошли разные функции
...
// функция отображения характеристик товара
// формирую второй блок полностью
function open_item(iditem) {
Вот тут снова формирую новый код html, в нем эта форма
}
....


то есть форма формируется за пределами jQuery(document).ready(function ($)
Может из-за этого она не работать?
Ответить с цитированием
  #12 (permalink)  
Старый 08.02.2018, 21:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от kupidon
то есть форма формируется за пределами jQuery(document).ready(function ($)
Какая разница в теле jQuery(document).ready или нет, формирование то ее есть результат Ajax запроса "отправляется ajax запрос к бд, получаю данные о товаре и вывожу их во втором блоке".

По тому что показано трудно сказать почему не работает, даже что именно не работает и это не известно.
Ответить с цитированием
  #13 (permalink)  
Старый 08.02.2018, 22:49
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Как я понял при инициализации страницы на некую форму навешивается обработчик.
После неких манипуляций html формы изменяется (пост 1) и после этого все перестает работать.

Вы делегировать обработку события не пробовали?
При изменении html кода обработчики события с замененных элементов удаляются.
Ответить с цитированием
  #14 (permalink)  
Старый 08.02.2018, 22:54
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

<div id="form">
<button type="submit" id="button">CLick me</button>
</div>
<div id="form2">
<button type="submit" id="button2">CLick me</button>
</div>
<script>
var _get=function(id){
    return document.getElementById(id);
};
_get('button').onclick=function(){
    alert('First button');
    _get('form').innerHTML=_get('form').innerHTML;
    _get('button').innerHTML='Click more';
};
_get('form2').onclick=function(e){
    if(e.target.tagName.toLowerCase()!='button')
        return;

    alert('Second button');
    _get('form2').innerHTML=_get('form2').innerHTML;
    _get('button2').innerHTML='Click more';
};
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сломал всю голову.. Посмотрите спецы.. Не хочет работать страница в mozilla-firefox.. ProniK Ваши сайты и скрипты 1 02.06.2010 19:33
Заставить работать js подгружаемый AJAX -ом DeMONiZ AJAX и COMET 14 21.05.2010 10:52
Что-то onmouseup у меня не хочет правильно работать. vahrusha Элементы интерфейса 5 10.04.2010 00:00
Функция которая работает на OnLoad не хочет работать на OnClick libinstyle Элементы интерфейса 6 23.03.2010 01:42
GetElementById не хочет работать в динамической форме Игорёk Events/DOM/Window 8 23.06.2009 13:27