За последние 24 часа нас посетили 15596 программистов и 1551 робот. Сейчас ищут 875 программистов ...

Как передать переменную из статьи в форму?

Тема в разделе "PHP для новичков", создана пользователем CyberWolf, 1 май 2015.

  1. CyberWolf

    CyberWolf Активный пользователь

    С нами с:
    1 окт 2014
    Сообщения:
    22
    Симпатии:
    0
    Всем привет. Подскажите пожалуйста. Есть материалы (заголовок, текст и т.д.) и есть PopUp форма. Необходимо сделать так чтобы при открытии формы, в нее автоматически подставлялись значения из материала (заголовок и т.д.). Как это можно осуществить?
     
  2. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    jQuery в помощь :)
     
  3. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    Причем тут jquery. Тема в php и ему и надо php, потому что - это делается через GET или POST запрос и базу данных где лежит материал, а jq это лишь клиент который принимает ответ от сервера.
    Ну вот там где открывается форма, там отправляется в скорей всего GET запрос с каким-нибудь модификатором для материала, а дальше как правило условие, напишите SQL запрос на выборку где модификатор укажите в WHERE и дальше уже $row['title'] и т.д.
    Ну это лишь только моя догадка, ибо вы не дали ничего.
     
  4. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    Причем тут jquery. Тема в php и ему и надо php, потому что - это делается через GET или POST запрос и базу данных где лежит материал, а jq это лишь клиент который принимает ответ от сервера.

    а при том - чудо ;) иди изучай JS и jQuery в том числе....
     
  5. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    Это ты мне говоришь изучать js или ТСу?
     
  6. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    если ты не вник в пост - то точно тебе... Еще вопросы будут?
     
  7. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    Ты наверно и сам не понял, что написал еще и мой пост скопировал. Гениально! Знаток прям.
    Похоже это тебе нужно учить сервер и js, уж больно ты походишь на выскочку. Вопросов нет и так все понятно с тобой.
     
  8. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    ну ты и клоун конешь....
    похож больше на не русского, который читает посты между строк, и веб-программировании не больше полугода, не понимает стоящую перед человеком задачу...

    А теперь читай каждую строчку внимательно!!
    У человека есть попап, она открывается с помощью JS( или jQuery), идем далее... Страница прогрузилась и ему нужно из страницы выдернуть часть текста и вставить в попап. Для таких вещей и нужен на клиентской JS ( или jQuery ).

    А ты предлагаешь, ему еще раз сделать зачем то запросы к серверу...
    Прежде чем хомить - читай внимательней!!
     
  9. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Где находится материал?
    Где находится форма?
    В смысле на одной странице или нет.
    Если не на одной, по какому принципу происходит переход, выбор статьи, которую вставлять?

    Все остальные вопросы и ответы на них додумаешь сам.

    Добавлено спустя 3 минуты 52 секунды:
    А то "я открываю сайт а он не работает, что делать?".
     
  10. bikerlex

    bikerlex Активный пользователь

    С нами с:
    2 дек 2014
    Сообщения:
    344
    Симпатии:
    40
    Железная конечно логика. Раз тема в разделе PHP, то ему непременно нужно решение на PHP. А тебе не приходило в голову, что он может просто не знать, что ему нужен раздел по js. Автор пишет про Pop-up, т.е. всплывающее окно. А с каких пор всплывающие окна создаются на PHP?
    А вообще информации по задаче маловато.
     
  11. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Жесть, вы бойню устроили, я думаю автар сам не знает толком что хочет, тем более как это примерно реализуется, по этому вопрос может быть в любом разделе, хоть в "установка РНР".

    Пускай сначала даст окончательные разъяснения, потом будите спорить жаваскрипт или не жаваскрипт .
     
  12. CyberWolf

    CyberWolf Активный пользователь

    С нами с:
    1 окт 2014
    Сообщения:
    22
    Симпатии:
    0
    Народ, зачем так ругаться друг с другом не из-за чего...
    Извиняюсь, что не написал подробнее. Я в php как и в js\jq не особо силен... Потому и решил, что передача переменной это по части php. В общем дело обстоит так. Есть материалы, в каждом есть заголовок, текст, картинки и т.д. Так же имеется кнопочка, нажав которую появляется PopUp-форма. Мне надо, чтобы в форму подставлялись значения из материала где находится данный PopUp. Ну например, если материал о персидских котятах, то в форме в поле "Порода" автоматом подставлялся заголовок материала и получалась "Порода: Персидские котята"
     
  13. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    а где посмотреть пример статьи и popup?
     
  14. CyberWolf

    CyberWolf Активный пользователь

    С нами с:
    1 окт 2014
    Сообщения:
    22
    Симпатии:
    0
    http://kurort.grishanya.ru/gostinici/yuzhanka надо нажать "Показать" откроется таблица с кнопкой "Забронировать", это и есть popup. Форма пока тестовая, не пугайтесь =)
     
  15. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    А какой код отвечает за открытие popup? правильнее это назвать модальным окном
     
  16. CyberWolf

    CyberWolf Активный пользователь

    С нами с:
    1 окт 2014
    Сообщения:
    22
    Симпатии:
    0
    Код (Text):
    1. $(document).ready(function() {
    2.    
    3.     $('.show-popup').click(function() {
    4.        
    5.         type = $(this).attr('data-type');
    6.        
    7.         $('.overlay-container').fadeIn(function() {
    8.            
    9.             window.setTimeout(function(){
    10.                 $('.window-container.'+type).addClass('window-container-visible');
    11.             }, 100);
    12.            
    13.         });
    14.     });
    15.    
    16.     $('.close').click(function() {
    17.         $('.overlay-container').fadeOut().end().find('.window-container').removeClass('window-container-visible');
    18.     });
    19.    
    20.    
    21.     function positionCenter(elem) { // Функция, которая позиционирует всплывающее окно по центру
    22.         elem.css({
    23.             marginTop: '-' + elem.height() / 2 + 'px',
    24.             marginLeft: '-' + elem.width() / 2 + 'px'
    25.         });
    26.     }
    27. });
     
  17. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    нашёл сам в popup.js
    сделай в overlay-container у тебя есть элементы, дай им id и при $('.show-popup').click вставляй нужные данные,
    а чтобы кнопки забронировать отличать, добавь нужную data- атрибут к ним и в $('.show-popup').click через обращайся
     
  18. CyberWolf

    CyberWolf Активный пользователь

    С нами с:
    1 окт 2014
    Сообщения:
    22
    Симпатии:
    0
    Собственно в этом и проблема... Я примерно понимаю суть, но не знаю как это прописывается... php\js только изучаю, а решение требуется уже вчера =)
     
  19. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Раз вчера, то сгоняю назад в прошлое.

    Добавлено спустя 21 секунду:
    Вот решение http://jsfiddle.net/nL816h0t/

    Добавлено спустя 6 минут 18 секунд:
    Есть кнопки забронировать, мы должны их различать, так как каждая возможно отвечает за что-то уникальное.
    По этому мы каждой кнопке дописываем специальный атрибут, например цена и две кнопки
    <input ... data-price="55">
    <input ... data-price="100.45">
    Когда вызываем $('.show-popup').click(), то нам доступна информация, какую кнопку мы нажали, смотри переменную this.
    Код (PHP):
    1. $('.show-popup').click(function() {
    2. alert( $( this ).data( "price" ) ); // выведет цену 100.45, если нажата вторая кнопка и 55 если первая
    3. $('#amount').val( $( this ).data( "price" ) ); // в модальном окне, форма имеет всегда одно id вот по нему мы и запихаем цену
    4. });
    Добавлено спустя 1 минуту 7 секунд:
    https://api.jquery.com/data/
    http://api.jquery.com/val/
     
  20. CyberWolf

    CyberWolf Активный пользователь

    С нами с:
    1 окт 2014
    Сообщения:
    22
    Симпатии:
    0
    Не много не то что надо или я просто плохо понимаю... Кнопки делают одно и тоже - вызывают одну форму. Их много чисто для визуальности. Я хотел автоматизировать процесс.

    Пример:
    В статье есть заголовок хранящийся в тегах h2. Я хотел как-то его выцеплять и передавать в форму. То есть, чтобы так было во всех материалах. А в Вашем примере мы вручную прописываем передаваемую переменную data-x0="пример"

    Код (Text):
    1. $('#test0').val( $( this ).data( "x0" ) );
    И вешаем ее на кнопку
     
  21. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    Бла, бла, бла...
    Прежде чем писать, подучи русский язык! Хомить мать твою, через А пишется.
    О других вещах я промолчу, о профессор...
    Сразу видно ты унылый школьный тролль, не более.
     
  22. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    CyberWolf у тебя есть <h2 id="title">test</h2> делай так $('.show-popup').click(function() { ... $('#test0').val( $('#title').text() ); ... });
     
  23. CyberWolf

    CyberWolf Активный пользователь

    С нами с:
    1 окт 2014
    Сообщения:
    22
    Симпатии:
    0
    Этот вариант у меня не выходит... Можно чуть подробнее?

    Пока делаю так
    Код (Text):
    1. (function(){
    2. $(window).bind("load", function() {
    3. var catnumber1 = $("#two").text();
    4. console.log(catnumber1);
    5. var catnumber2 = $("#free").text();
    6. console.log(catnumber2);
    7. if (
    8. $("#button1").click(function () {
    9. $("#cat_number").val(catnumber1);
    10.     }));
    11.     if (
    12.     $("#button2").click(function () {
    13. $("#cat_number").val(catnumber2);
    14. }));
    15. })
    16. })(jQuery);
    Но это для другого, а Ваш пример подошел бы больше для заполнения полей даты въезда и выезда, но почему-то не работает. Может быть потому что попап форма?
     
  24. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    так где посмотреть пример, и напиши id элемента откуда хочешь взять данные, и id элемента куда хочешь засунуть, чтобы я их увидел на странице и подсказал
     
  25. CyberWolf

    CyberWolf Активный пользователь

    С нами с:
    1 окт 2014
    Сообщения:
    22
    Симпатии:
    0
    Вот форма:
    Код (Text):
    1. <div class="overlay-container">
    2.     <div class="window-container zoomin">
    3.        
    4.       <span class="close">Х</span>
    5.  
    6.       <h2>Забронировать номер</h2>
    7.  
    8.    <form id="feedback-form">
    9.  
    10.         <table class="tableFormOrder">
    11.     <tbody>
    12.     <tr>
    13.     <td colspan="3" class="titleClientAreal">
    14.     Данные заказа
    15.     </td>
    16.     </tr>
    17.    
    18.     <tr class="lineClientArea">
    19.     <td>
    20.     <div class="input-bloc w1">
    21.         <label for="client_name">Ф.И.О.:</label><br />
    22.         <input type="text" size="20" name="client_name" id="client_name"/>
    23.         <div class="error-box"></div> <!-- Контейнер для ошибок -->
    24.      </div>
    25.         </td>
    26.     <td>
    27.      <div class="input-bloc w1">
    28.         <label for="client_phone">Телефон:</label><br />
    29.         <input type="text" size="15" name="client_phone" id="client_phone" />
    30.         <div class="error-box"></div>
    31.      </div>
    32.     </td>
    33.        
    34.     <td>
    35.      <div class="input-bloc w1">
    36.         <label for="client_email">Email:</label><br />
    37.         <input type="text" size="15" name="client_email" id="client_email" />
    38.         <div class="error-box"></div>
    39.      </div>
    40.     </td>
    41.     </tr>
    42.      
    43.      <tr class="lineClientArea">
    44.     <td>
    45.      <div class="input-bloc w1">
    46.         <label for="datein">Дата заезда:</label><br />
    47.         <input type="text" size="10" name="datein" id="datein" />
    48.         <div class="error-box"></div>
    49.      </div>
    50.     </td>
    51.      
    52.     <td>
    53.      <div class="input-bloc w1">
    54.         <label for="dateout">Дата отъезда:</label><br />
    55.         <input type="text" size="10" name="dateout" id="dateout" />
    56.         <div class="error-box"></div>
    57.      </div>
    58.     </td>
    59.      
    60.     <td>
    61.      <div class="input-bloc w1">
    62.         <label for="timein">Время прибытия:</label><br />
    63.         <input type="text" size="10" name="timein" id="timein" />
    64.         <div class="error-box"></div>
    65.      </div>
    66.     </td>
    67.     </tr>
    68.    
    69.     <tr>
    70.     <td colspan="2">
    71.      <div class="input-bloc w1">
    72.         <label for="cat_number">Категория номера:</label><br />
    73.         <input type="text" size="50" name="cat_number" id="cat_number" />
    74.         <div class="error-box"></div>
    75.      </div>
    76.     </td>
    77.    
    78.     <td>
    79.      <div class="input-bloc w1">
    80.         <label for="sum_number">Количество номеров:</label><br />
    81.         <input type="text" size="10" name="sum_number" id="sum_number" />
    82.         <div class="error-box"></div>
    83.      </div>
    84.     </td>
    85.     </tr>
    86.    
    87.     <tr class="hr_res">
    88.     <td colspan="3">
    89.     <div></div>
    90.     </td>
    91.     </tr>
    92.    
    93.     <tr>
    94.     <td colspan="3" class="titleClientAreal">
    95.     Информация об отдыхающих
    96.     </td>
    97.     </tr>
    98.    
    99.     <tr>
    100.     <td>
    101.      <div class="input-bloc w1">
    102.         <label for="sum_big">Количество взрослых:</label><br />
    103.         <input type="text" size="10" name="sum_big" id="sum_big" />
    104.         <div class="error-box"></div>
    105.      </div>
    106.     </td>
    107.    
    108.     <td>
    109.      <div class="input-bloc w1">
    110.         <label for="sum_small">Количество детей:</label><br />
    111.         <input type="text" size="10" name="sum_small" id="sum_small" />
    112.         <div class="error-box"></div>
    113.      </div>
    114.     </td>
    115.      </tr>
    116.      
    117.      <tr>
    118.     <td>
    119.     <div class="input-bloc w1">
    120.         <label for="name">Ф.И.О.:</label><br />
    121.         <input type="text" size="25" name="name" id="name"/>
    122.         <div class="error-box"></div> <!-- Контейнер для ошибок -->
    123.      </div>
    124.     </td>
    125.    
    126.     <td>
    127.      <div class="input-bloc w1">
    128.         <label for="year">Год рождения:</label><br />
    129.         <input type="text" size="10" name="year" id="year" />
    130.         <div class="error-box"></div>
    131.      </div>
    132.     </td>
    133.      </tr>
    134.      
    135.      <tr>
    136.     <td colspan="3">
    137.      <div class="input-bloc msg">
    138.         <label for="message">Дополнительная информация, вопросы или пожелания:</label><br />
    139.         <textarea name="message" cols="50" rows="10" id="message"></textarea>
    140.         <div class="error-box"></div>
    141.      </div>
    142.     </td>
    143.      
    144.      </table>
    145.      </tbody>
    146.      
    147.      <div><input type="submit" id="send" value="Забронировать" /></div>
    148.         </form>
    149.         </div>
    150. </div>
    А это скрипт PopAp:
    Код (Text):
    1. $(document).ready(function() {
    2.    
    3.     $('.show-popup').click(function() {
    4.        
    5.         type = $(this).attr('data-type');
    6.        
    7.         $('.overlay-container').fadeIn(function() {
    8.            
    9.             window.setTimeout(function(){
    10.                 $('.window-container.'+type).addClass('window-container-visible');
    11.             }, 100);
    12.            
    13.         });
    14.        
    15.         $('#datein').val($(this).data("in"));
    16.     });
    17.    
    18.     $('.close').click(function() {
    19.         $('.overlay-container').fadeOut().end().find('.window-container').removeClass('window-container-visible');
    20.     });
    21.    
    22.    
    23.     function positionCenter(elem) { // Функция, которая позиционирует всплывающее окно по центру
    24.         elem.css({
    25.             marginTop: '-' + elem.height() / 2 + 'px',
    26.             marginLeft: '-' + elem.width() / 2 + 'px'
    27.         });
    28.     }
    29. });
    И кнопка:
    Код (Text):
    1. <input type="button" value="Забронировать" class="show-popup" id="but-two-1" data-type="zoomin" data-in="01" />