Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   обновление контента по событию (https://javascript.ru/forum/jquery/26337-obnovlenie-kontenta-po-sobytiyu.html)

skill 05.03.2012 13:04

обновление контента по событию
 
Добрый день. У меня есть страница, на которой есть форма добавления комментариев в бд и их вывод. Надо, чтобы после добавления коммента пользователем содержимое страницы обновилось. Понимаю, что это тривиальная задача, но из-за нехватки времени не могу читать целиком доки по jquery... Буду благодарен, если наведете на статью или офф доки, где описано,как это делать.

T-sh 05.03.2012 16:32

$("#buttonName").bind('click',function(){

var text1 = $("#Input1").val(); 
var text2 = $("#Input2").val();
....
....

$.post("ajax.php",{ data1:text1, data2:text2 },function(data){
	$("#myCont").html(data);
});
});


#buttonName — id кнопки.

#input1, #input2 и т.д. — id полей формы

#myCont — id блока, куда нужно загрузить ответ (содержимое страницы)

ajax.php — файл, который принимает запрос (данные к нему придут в $_POST['data1'], $_POST['data2'] и т.д.

data — то, что придет в ответ от ajax.php (вывод из ajax.php как если бы просто выводил на экран — echo, print — выводишь содержимое страницы уже обновленное....

skill 06.03.2012 10:18

Спасибо! Очень помогло. Но остался один вопрос: я так понимаю, что сам код вывода комментариев в данном случае должен храниться в отдельном файле (ajax.php). При условии, что в браузере отключен js, было бы классно, если бы вывод работал, просто комментарий появлялся после обновления страницы вручную... А если вывод в другом файле, как это сделать?

T-sh 06.03.2012 10:34

в начало index.php вставить:
<?php
@session_start();
$_SESSION['JS'] = (!empty($_SESSION['JS']) || !empty($_GET['js']));
if (!$_SESSION['JS'] && empty($_SESSION['JS_CHECK'])) {
  echo '<script type="text/javascript">document.location.href="?js=1";</script>';
  $_SESSION['JS_CHECK'] = 1;
  }
?>


В нужном месте, где нужно выводить комменты, если отключен js пишем:
$check_js = $_SESSION['JS'] ; // эта переменная есть только когда включен javascript.
if (!$check_js){ include("ajax.php"); }


Часовой пояс GMT +3, время: 23:49.