Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > AJAX :: Комментарии


Автор: DmitryChess 30.7.2008, 10:18
Доброго всем времени суток!
Нужно решить проблему добавления на страницу комментариев, чтобы их добавление происходило без ее перезагрузки. Поискав на форуме, не нашел однозначного и работающего решения.
Быть может у кого-нибудь есть образец или пример, как добавить возможность оставить комментарии на странице, не перезагружая ее?

Автор: bars80080 30.7.2008, 10:47
ну, смотри, как здесь на форуме это выглядит. набранное сообщение по нажатию кнопки "отправить" уходит на сервер и аякс ждёт пока вернётся ответ, мол всё хорошо, запись внесена (дополнительно здесь подгружаются новые посты, если они есть и прилепляются в конец полосы сообщений). после этого твоё же сообщение средствами javascript но не аякса добавляется в конец с помощью возможно .innerHTML


Автор: Sanchezzz 31.7.2008, 07:04
Качаешь... http://dklab.ru/lib/JsHttpRequest/

В PHP
Код

<?
@session_start();
require_once('JsHttpRequest.php'); //подклучаем файл
$Js = new JsHttpRequest('windows-1251'); //кодировка ответов UTF-8

/*Ловим данные */
if($_REQUEST['action']==''add_coment"){

// тут твой код добавления в БД или куда тебе нужно...
//далее тебе нужно прочитать все данные заново и вывести их
//готовим ответ 
$GLOBALS['_RESULT']['otvet'] ='добавлено';
}
?>


В HTML 
Код

<script type="text/javascript" src="JsHttpRequest.js"></script>

<script type="text/javascript">
function showload(){document.getElementById('ajaxload').style.display = "block"}
function hideload(){document.getElementById('ajaxload').style.display = "none"}
function getID(val){return document.getElementById(val);}

function add_coment(){
var ZNACENIE;
var req = new JsHttpRequest(); //создаем обьект
//showload()ж
req.onreadystatechange = function() {                
if (req.readyState == 4) {//load complite
//hideload();
getID('result').innerHTML = req.responseJS.otvet; //otvet - это то что мы отправляем из php 
 }
}
req.open(null, 'sample.php', true);// куда отправлять
req.send({action:'add_coment',COMENT:ZNACENIE}); //    COMENT будешь ловить в php        
}

</script>
<div id="result">ТУТ ТЫ ПОЛУЧИШЬ ОТВЕТ</div>
<a href="#" onclick="add_coment()">Добавить коментарий</a>


Автор: supercelt 31.7.2008, 13:37
А где в этом коде сама формочка??

Автор: Sanchezzz 1.8.2008, 14:44
в переменную ZNACENIE получаешь текс через JS посредством находишь элемент инпута или текстареа и по value вытаскиваешь.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)