Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.06.2018, 20:19
Интересующийся
Отправить личное сообщение для pro-ks Посмотреть профиль Найти все сообщения от pro-ks
 
Регистрация: 18.07.2016
Сообщений: 16

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

<script type="text/javascript">function ajax_s(x) {
    var dpar = '<? echo time(); ?>'; // случайный параметр, который меняется при каждой загрузке страницы - для того чтобы сделать ссылки уникальными
    if(window.XMLHttpRequest) {
        try { req = new XMLHttpRequest(); } 
        catch (e){}} 
    else if(window.ActiveXObject) {
        try { req = new ActiveXObject('Msxml2.XMLHTTP'); } 
        catch (e){ req = new ActiveXObject('Microsoft.XMLHTTP'); }}
    req.onreadystatechange = function() { 
        if(req.readyState == 4) ajax_o(req.responseText); }     
    req.open("GET", '/script.php?query=' + encodeURIComponent(x) + '&dpar=' + dpar, true);
    req.send(''); 
}
function ajax_o(x) {
    var el = document.getElementById('ziel');
    el.innerHTML = decodeURIComponent(x);
}</script>

<input type="button" onclick="ajax_s('param1');" value="push" />
<div id="ziel"></div>


в чем загвоздка, дело в том что у меня не одна карточка товара, а нужно сделать чтоб подгружался уникальные характеристики для каждой, как можно это реализовать подскажите пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 27.06.2018, 20:47
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от pro-ks
var dpar = '<? echo time(); ?>'; // случайный параметр, который меняется при каждой загрузке страницы - для того чтобы сделать ссылки уникальными
Уникальность товар, это не time(), а его уникальный идентификатор, который и будет определять в запросе к серверу (параметр Ajax запроса) о каком товаре запрашивается и что возвращать клиенту. На клиенте нужно определить обработчик "щелчков" по товарам и во что помещать ответ.
Ответить с цитированием
  #3 (permalink)  
Старый 27.06.2018, 20:59
Интересующийся
Отправить личное сообщение для pro-ks Посмотреть профиль Найти все сообщения от pro-ks
 
Регистрация: 18.07.2016
Сообщений: 16

т.е. вместо dpar = '<? echo time(); ?>' что мне писать, если у товара будет индивидуальный блок div с индивидуальным классом скажем
Ответить с цитированием
  #4 (permalink)  
Старый 27.06.2018, 21:00
Интересующийся
Отправить личное сообщение для pro-ks Посмотреть профиль Найти все сообщения от pro-ks
 
Регистрация: 18.07.2016
Сообщений: 16

вот пример как оформлена карточка товара
<li>
        <div class="imageBlock">
          <img src="img/catalog1/cond1_1.jpg" alt="">
        </div>
        <div class="textBlock">
          <p><span>AC Electric</span> ACEM-07HN1_Y17</p>
        </div>
        <div class="priceBlock">
          <p class="oldPrice">старая цена <span>17 800 руб.</span></p>
          <p class="newPrice">новая цена <span>12 900 руб.</span></p>
        </div>
        <a href="#popupCatalog" class="btn-own fancybox-popup" title="Chigo CS/CU-21H3A" onclick="yaCounter38352535.reachGoal('Chigo_CS_CU_21H3A'); return true;">заказать</a>
      </li><!--
     --><li>
        <div class="imageBlock">
           <img src="img/catalog2/cond2_5.jpg" alt="">
        </div>
        <div class="textBlock">
          <p><span>Ballu BSD-07HN1 </span> <span> </span>  </p>
        </div>
        <div class="priceBlock">
          <p class="oldPrice">старая цена <span>19 200 руб.</span></p>
          <p class="newPrice">новая цена <span>15 950 руб.</span></p>
        </div>
        <a href="#popupCatalog" class="btn-own fancybox-popup" title="Ballu Olympic BSW-07 HN1_15Y" onclick="yaCounter38352535.reachGoal('Ballu_Olympic_BSW_07 HN1_15Y'); return true;">заказать</a>
      </li><!--
     -->
Ответить с цитированием
  #5 (permalink)  
Старый 27.06.2018, 21:03
Интересующийся
Отправить личное сообщение для pro-ks Посмотреть профиль Найти все сообщения от pro-ks
 
Регистрация: 18.07.2016
Сообщений: 16

<!-- ССЫЛКА НА ОКНО -->
<a href="javascript:void(0)" onclick="this.nextElementSibling.style.display='block';">Нажмите на ссылку</a>
 
<!-- ОКНО -->
<div id="parent_popup_click1" class="parent_popup_click">
  <div class="popup_click">
<h2>Всплывающее окно на CSS</h2>
    <p><center>Тут может быть абсолютно любой html или даже скрипты</center>
    <a class="close1" title="Закрыть" onclick="document.getElementById('parent_popup_click1').style.display='none';">X</a>
</div>
</div>

вот так делал всплывашку
Ответить с цитированием
  #6 (permalink)  
Старый 27.06.2018, 21:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

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

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

Что в вашей карточке есть уникальное значение я не знаю. А time() это просто туфта.

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

Последний раз редактировалось laimas, 27.06.2018 в 21:15.
Ответить с цитированием
  #7 (permalink)  
Старый 27.06.2018, 21:17
Интересующийся
Отправить личное сообщение для pro-ks Посмотреть профиль Найти все сообщения от pro-ks
 
Регистрация: 18.07.2016
Сообщений: 16

Дело в том что товары берутся не из БД это простой html, вотя я хочу сделать к ним описание, чтоб оно подгружалась с доп файла и открывалось поверх
Ответить с цитированием
  #8 (permalink)  
Старый 27.06.2018, 21:22
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от pro-ks
Дело в том что товары берутся не из БД это простой html
Из какого html и каким образом связаны товары с файлами (или одним файлом)?
Ответить с цитированием
  #9 (permalink)  
Старый 27.06.2018, 21:50
Интересующийся
Отправить личное сообщение для pro-ks Посмотреть профиль Найти все сообщения от pro-ks
 
Регистрация: 18.07.2016
Сообщений: 16

Товары никак не связаны это просто текст красиво оформленный стилями css
Ответить с цитированием
  #10 (permalink)  
Старый 27.06.2018, 21:51
Интересующийся
Отправить личное сообщение для pro-ks Посмотреть профиль Найти все сообщения от pro-ks
 
Регистрация: 18.07.2016
Сообщений: 16

к этому тексту нужно добавить джава который бы открывал всплывающее окно и в это всплывающее окно подгружал описание из доп файла(описание так же текст оформленный стилями css)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подгрузка контента из файла kaspers AJAX и COMET 7 25.01.2016 18:28
ajax подгрузка контента и js обработка foreach jQuery 0 23.03.2013 16:11
Подгрузка контента на AJAX malsyst AJAX и COMET 49 05.08.2012 14:04
Подгрузка файла ajax не работает в опере Suharik jQuery 5 25.05.2011 15:00
JQuery AJAX подгрузка файла .js KreK AJAX и COMET 8 12.08.2009 11:08