Всем привет. Подскажите пожалуйста. Есть материалы (заголовок, текст и т.д.) и есть PopUp форма. Необходимо сделать так чтобы при открытии формы, в нее автоматически подставлялись значения из материала (заголовок и т.д.). Как это можно осуществить?
Причем тут jquery. Тема в php и ему и надо php, потому что - это делается через GET или POST запрос и базу данных где лежит материал, а jq это лишь клиент который принимает ответ от сервера. Ну вот там где открывается форма, там отправляется в скорей всего GET запрос с каким-нибудь модификатором для материала, а дальше как правило условие, напишите SQL запрос на выборку где модификатор укажите в WHERE и дальше уже $row['title'] и т.д. Ну это лишь только моя догадка, ибо вы не дали ничего.
Причем тут jquery. Тема в php и ему и надо php, потому что - это делается через GET или POST запрос и базу данных где лежит материал, а jq это лишь клиент который принимает ответ от сервера. а при том - чудо иди изучай JS и jQuery в том числе....
Ты наверно и сам не понял, что написал еще и мой пост скопировал. Гениально! Знаток прям. Похоже это тебе нужно учить сервер и js, уж больно ты походишь на выскочку. Вопросов нет и так все понятно с тобой.
ну ты и клоун конешь.... похож больше на не русского, который читает посты между строк, и веб-программировании не больше полугода, не понимает стоящую перед человеком задачу... А теперь читай каждую строчку внимательно!! У человека есть попап, она открывается с помощью JS( или jQuery), идем далее... Страница прогрузилась и ему нужно из страницы выдернуть часть текста и вставить в попап. Для таких вещей и нужен на клиентской JS ( или jQuery ). А ты предлагаешь, ему еще раз сделать зачем то запросы к серверу... Прежде чем хомить - читай внимательней!!
Где находится материал? Где находится форма? В смысле на одной странице или нет. Если не на одной, по какому принципу происходит переход, выбор статьи, которую вставлять? Все остальные вопросы и ответы на них додумаешь сам. Добавлено спустя 3 минуты 52 секунды: А то "я открываю сайт а он не работает, что делать?".
Железная конечно логика. Раз тема в разделе PHP, то ему непременно нужно решение на PHP. А тебе не приходило в голову, что он может просто не знать, что ему нужен раздел по js. Автор пишет про Pop-up, т.е. всплывающее окно. А с каких пор всплывающие окна создаются на PHP? А вообще информации по задаче маловато.
Жесть, вы бойню устроили, я думаю автар сам не знает толком что хочет, тем более как это примерно реализуется, по этому вопрос может быть в любом разделе, хоть в "установка РНР". Пускай сначала даст окончательные разъяснения, потом будите спорить жаваскрипт или не жаваскрипт .
Народ, зачем так ругаться друг с другом не из-за чего... Извиняюсь, что не написал подробнее. Я в php как и в js\jq не особо силен... Потому и решил, что передача переменной это по части php. В общем дело обстоит так. Есть материалы, в каждом есть заголовок, текст, картинки и т.д. Так же имеется кнопочка, нажав которую появляется PopUp-форма. Мне надо, чтобы в форму подставлялись значения из материала где находится данный PopUp. Ну например, если материал о персидских котятах, то в форме в поле "Порода" автоматом подставлялся заголовок материала и получалась "Порода: Персидские котята"
http://kurort.grishanya.ru/gostinici/yuzhanka надо нажать "Показать" откроется таблица с кнопкой "Забронировать", это и есть popup. Форма пока тестовая, не пугайтесь =)
Код (Text): $(document).ready(function() { $('.show-popup').click(function() { type = $(this).attr('data-type'); $('.overlay-container').fadeIn(function() { window.setTimeout(function(){ $('.window-container.'+type).addClass('window-container-visible'); }, 100); }); }); $('.close').click(function() { $('.overlay-container').fadeOut().end().find('.window-container').removeClass('window-container-visible'); }); function positionCenter(elem) { // Функция, которая позиционирует всплывающее окно по центру elem.css({ marginTop: '-' + elem.height() / 2 + 'px', marginLeft: '-' + elem.width() / 2 + 'px' }); } });
нашёл сам в popup.js сделай в overlay-container у тебя есть элементы, дай им id и при $('.show-popup').click вставляй нужные данные, а чтобы кнопки забронировать отличать, добавь нужную data- атрибут к ним и в $('.show-popup').click через обращайся
Собственно в этом и проблема... Я примерно понимаю суть, но не знаю как это прописывается... php\js только изучаю, а решение требуется уже вчера =)
Раз вчера, то сгоняю назад в прошлое. Добавлено спустя 21 секунду: Вот решение http://jsfiddle.net/nL816h0t/ Добавлено спустя 6 минут 18 секунд: Есть кнопки забронировать, мы должны их различать, так как каждая возможно отвечает за что-то уникальное. По этому мы каждой кнопке дописываем специальный атрибут, например цена и две кнопки <input ... data-price="55"> <input ... data-price="100.45"> Когда вызываем $('.show-popup').click(), то нам доступна информация, какую кнопку мы нажали, смотри переменную this. Код (PHP): $('.show-popup').click(function() { alert( $( this ).data( "price" ) ); // выведет цену 100.45, если нажата вторая кнопка и 55 если первая $('#amount').val( $( this ).data( "price" ) ); // в модальном окне, форма имеет всегда одно id вот по нему мы и запихаем цену }); Добавлено спустя 1 минуту 7 секунд: https://api.jquery.com/data/ http://api.jquery.com/val/
Не много не то что надо или я просто плохо понимаю... Кнопки делают одно и тоже - вызывают одну форму. Их много чисто для визуальности. Я хотел автоматизировать процесс. Пример: В статье есть заголовок хранящийся в тегах h2. Я хотел как-то его выцеплять и передавать в форму. То есть, чтобы так было во всех материалах. А в Вашем примере мы вручную прописываем передаваемую переменную data-x0="пример" Код (Text): $('#test0').val( $( this ).data( "x0" ) ); И вешаем ее на кнопку
Бла, бла, бла... Прежде чем писать, подучи русский язык! Хомить мать твою, через А пишется. О других вещах я промолчу, о профессор... Сразу видно ты унылый школьный тролль, не более.
CyberWolf у тебя есть <h2 id="title">test</h2> делай так $('.show-popup').click(function() { ... $('#test0').val( $('#title').text() ); ... });
Этот вариант у меня не выходит... Можно чуть подробнее? Пока делаю так Код (Text): (function(){ $(window).bind("load", function() { var catnumber1 = $("#two").text(); console.log(catnumber1); var catnumber2 = $("#free").text(); console.log(catnumber2); if ( $("#button1").click(function () { $("#cat_number").val(catnumber1); })); if ( $("#button2").click(function () { $("#cat_number").val(catnumber2); })); }) })(jQuery); Но это для другого, а Ваш пример подошел бы больше для заполнения полей даты въезда и выезда, но почему-то не работает. Может быть потому что попап форма?
так где посмотреть пример, и напиши id элемента откуда хочешь взять данные, и id элемента куда хочешь засунуть, чтобы я их увидел на странице и подсказал
Вот форма: Код (Text): <div class="overlay-container"> <div class="window-container zoomin"> <span class="close">Х</span> <h2>Забронировать номер</h2> <form id="feedback-form"> <table class="tableFormOrder"> <tbody> <tr> <td colspan="3" class="titleClientAreal"> Данные заказа </td> </tr> <tr class="lineClientArea"> <td> <div class="input-bloc w1"> <label for="client_name">Ф.И.О.:</label><br /> <input type="text" size="20" name="client_name" id="client_name"/> <div class="error-box"></div> <!-- Контейнер для ошибок --> </div> </td> <td> <div class="input-bloc w1"> <label for="client_phone">Телефон:</label><br /> <input type="text" size="15" name="client_phone" id="client_phone" /> <div class="error-box"></div> </div> </td> <td> <div class="input-bloc w1"> <label for="client_email">Email:</label><br /> <input type="text" size="15" name="client_email" id="client_email" /> <div class="error-box"></div> </div> </td> </tr> <tr class="lineClientArea"> <td> <div class="input-bloc w1"> <label for="datein">Дата заезда:</label><br /> <input type="text" size="10" name="datein" id="datein" /> <div class="error-box"></div> </div> </td> <td> <div class="input-bloc w1"> <label for="dateout">Дата отъезда:</label><br /> <input type="text" size="10" name="dateout" id="dateout" /> <div class="error-box"></div> </div> </td> <td> <div class="input-bloc w1"> <label for="timein">Время прибытия:</label><br /> <input type="text" size="10" name="timein" id="timein" /> <div class="error-box"></div> </div> </td> </tr> <tr> <td colspan="2"> <div class="input-bloc w1"> <label for="cat_number">Категория номера:</label><br /> <input type="text" size="50" name="cat_number" id="cat_number" /> <div class="error-box"></div> </div> </td> <td> <div class="input-bloc w1"> <label for="sum_number">Количество номеров:</label><br /> <input type="text" size="10" name="sum_number" id="sum_number" /> <div class="error-box"></div> </div> </td> </tr> <tr class="hr_res"> <td colspan="3"> <div></div> </td> </tr> <tr> <td colspan="3" class="titleClientAreal"> Информация об отдыхающих </td> </tr> <tr> <td> <div class="input-bloc w1"> <label for="sum_big">Количество взрослых:</label><br /> <input type="text" size="10" name="sum_big" id="sum_big" /> <div class="error-box"></div> </div> </td> <td> <div class="input-bloc w1"> <label for="sum_small">Количество детей:</label><br /> <input type="text" size="10" name="sum_small" id="sum_small" /> <div class="error-box"></div> </div> </td> </tr> <tr> <td> <div class="input-bloc w1"> <label for="name">Ф.И.О.:</label><br /> <input type="text" size="25" name="name" id="name"/> <div class="error-box"></div> <!-- Контейнер для ошибок --> </div> </td> <td> <div class="input-bloc w1"> <label for="year">Год рождения:</label><br /> <input type="text" size="10" name="year" id="year" /> <div class="error-box"></div> </div> </td> </tr> <tr> <td colspan="3"> <div class="input-bloc msg"> <label for="message">Дополнительная информация, вопросы или пожелания:</label><br /> <textarea name="message" cols="50" rows="10" id="message"></textarea> <div class="error-box"></div> </div> </td> </table> </tbody> <div><input type="submit" id="send" value="Забронировать" /></div> </form> </div> </div> А это скрипт PopAp: Код (Text): $(document).ready(function() { $('.show-popup').click(function() { type = $(this).attr('data-type'); $('.overlay-container').fadeIn(function() { window.setTimeout(function(){ $('.window-container.'+type).addClass('window-container-visible'); }, 100); }); $('#datein').val($(this).data("in")); }); $('.close').click(function() { $('.overlay-container').fadeOut().end().find('.window-container').removeClass('window-container-visible'); }); function positionCenter(elem) { // Функция, которая позиционирует всплывающее окно по центру elem.css({ marginTop: '-' + elem.height() / 2 + 'px', marginLeft: '-' + elem.width() / 2 + 'px' }); } }); И кнопка: Код (Text): <input type="button" value="Забронировать" class="show-popup" id="but-two-1" data-type="zoomin" data-in="01" />