Здраствуйте, при отправке формы проверяю при помощи php нету ли ошибок, если нету, то вывожу что "Форма успешно отправлена". Но не могу понять как прикрепить сюда jq, в такой вот форме он не работает. Вообще желательно чтобы сообщение выходило во всплывающем окне, но вот не могу заставить работать jq вместе с php, по отдельности jq работает без проблем. Проверка на php проходит успешно. Код (Text): <? if ($FORM->__error_msg == "" & $FORM->__form_validate_errors == "") {?> <script type="text/javascript"> $(docu ment).ready(f unction() { $("div#kontakti").after("Форма успешно отправлена"); ) } </script> <? } ?>
А что такое jq? Может JS (JavaScript)? Ну и по теме.. PHP это серверный язык. Когда ты отправляешь запрос на сервер, то "создаёшь" новую страницу, которую возвращаешь клиенту, т.е. пользователю. Говоря о всплывающем окне, ты скорее всего хочешь подобное провернуть без перезагрузки. а по тому в данном случае наверное лучше воспользоваться Ajax
ааа, точно, не сразу обратил внимание на сам скрипт. Сейчас маленький код нарисую, а то вопрос слишком "скользки", малость не понятно что человеку нужно
Накидал просто принцип работы файл index.php Код (Text): <!DOCTYPE html> <html> <head> <title>Маленький примерчик на jQuery (Ajax)</title> <script src="jquery.js"></script> </head> <body> <div> <form id="form"> <input type="text" name="name" id="id_name"/> <input type="button" value="Отправить" onclick="test();"/> </form> </div> <div id="result"></div> <?php ?> <script> $("#result").text('Начало'); function test() { $a = $("#id_name").val(); $.post( "test.php", {name: $a}, function (data) { $("#result").html(data); } ); return false; } </script> </body> </html> Файл test.php Код (Text): <?php $text = (isset($_POST['name'])) ? $_POST['name'] : ''; echo '<h4>Результат:</h4>'; echo '<p>Сообщение: ' . $text . '</p>'; echo '<p>Время: ' . date("H:i:s") . '</p>';
Не совсем понял в чем у тебя проблемы. Скрипт ниже в колбэке вызывает всплывающее окно с подсказкой - результатом работы скрипта. Ты этого добивался? фронт Код (Text): <html> <head> <title>Маленький примерчик на jQuery (Ajax)</title> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script> </head> <body> <div> <form id="form"> <input type="text" name="name" id="id_name"/> <input type="button" value="Отправить" onclick="test();"/> </form> </div> <style> .stick { background-color: green; color:white; margin:30px; padding:10px; display:block; width:200px; border-radius: 15px; } </style> <?php ?> <script> $.stickr = function(o) { var o = $.extend({ // настройки по умолчанию time:2000, // количество мс, которое отображается сообщение speed:'slow', // скорость исчезания note:null, // текст сообщения className:null, // класс, добавляемый к сообщению sticked:false, // не выводить кнопку закрытия сообщения position:{top:0,right:0} // позиция по умолчанию - справа сверху }, o); var stickers = $('#jquery-stickers'); // начинаем работу с главным элементом if (!stickers.length) { // если его ещё не существует $('body').prepend('<div id="jquery-stickers"></div>'); // добавляем его var stickers = $('#jquery-stickers'); stickers.css('position','fixed').css(o.position); // позиционируем } var stick = $('<div class="stick"></div>'); // создаём стикер stickers.append(stick); // добавляем его к родительскому элементу if (o.className) stick.addClass(o.className); // если необходимо, добавляем класс stick.html(o.note); // вставляем сообщение if (o.sticked) { // если сообщение закреплено var exit = $('<div class="exit"></div>'); // создаём кнопку выхода stick.prepend(exit); // вставляем её перед сообщением exit.click(function(){ // при клике stick.fadeOut(o.speed,function(){ // скрываем стикер $(this).remove(); // по окончании анимации удаляем его }) }); } else { // если же нет setTimeout(function(){ // устанавливаем таймер на необходимое время stick.fadeOut(o.speed,function(){ // затем скрываем стикер $(this).remove(); // по окончании анимации удаляем его }); }, o.time); } }; $("#result").text('Начало'); function test() { $a = $("#id_name").val(); $.post( "test.php", {name: $a}, function (data) { //$("#result").html(data); $.stickr({note: data,className:'classic'}); } ); return false; } </script> </body> </html> бэк Код (Text): <?php $text = (isset($_POST['name'])) ? $_POST['name'] : ''; echo '<h4>Результат:</h4>'; echo '<p>Сообщение: ' . $text . '</p>'; echo '<p>Время: ' . date("H:i:s") . '</p>'; ?> Функция реализации всплывающей подсказки взята с http://recens.ru/jquery/plugin_stickr.html
я и не собирался. Я и не собирался полностью писать за человека полностью код. Я указал что вообще принцип подхода совершенно иной.
и к чему такой навороченный скрипт для всплывающего окна? Достаточно простого toggle и прописать стили. Добавлено спустя 32 секунды: Обрати внимание, что я не задавал вопрос, а отвечал на него