Показать сообщение отдельно
  #1 (permalink)  
Старый 04.03.2013, 14:06
Интересующийся
Отправить личное сообщение для VEGA Посмотреть профиль Найти все сообщения от VEGA
 
Регистрация: 28.02.2013
Сообщений: 14

переключение страниц без перезагрузки
Добрый день
есть проблема.. сделал гостевую на аяксе.. все нормально выводится.. но не могу сделать переключение страниц в гостевой книге без перезагрузки страницы

index.php
<script src="jquery-1.9.1.min.js"></script>
</head>

	
	

<?php
$set['title']='Гостевая книга '; // заголовок страницы


?>
<!-- код формы -->


<form id="myForm"  action="site/action" onsubmit="clearForm(this); return true;">

			Сообщение:

			<textarea id="msg"    cols="36" rows="4" style="width:90%;" ></textarea>


</br></br>

			<input  type="submit" value="Отправить сообщение">

</form>
<div id="messages">
</div>
	
<script>

	function splash()
	{
		if (document.myForm.msg.value  =='')
			{
				alert ("Заполните текст сообщения!");
				return false;	
			}
		return true;   
	}

	// загрузка сообщений из БД в контейнер messages
	function show_messages()
	{
		$.ajax({
			url: "show.php",
				data: "&page=<?=intval($_GET['page'])?>",
			cache: false,
			success: function(html){
				$("#messages").html(html);
			}
		});
	}
	
	
	function clearForm(f) {
  window.setTimeout(function() {
    f.elements.msg.value='';
  }, 100);
}

	
	$(document).ready(function(){
		show_messages();
		// контроль и отправка данных на сервер в фоновом режиме при нажатии на кнопку "отправить сообщение"
		$("#myForm").submit(function(){
			var msg  = $("#msg").val();
			if (msg =='')
			{
				alert ("Заполните текст сообщения!");
				return false;
			}
			$.ajax({
				type: "POST",
				url: "action.php",
				data: "msg="+msg+"&action=add",
				
			
				success: function(msg){
					show_messages();
			   }
			
			});
			return false;
		});
		
	show_messages();
    setInterval("show_messages()", 10000);
	
      

      var flagGoIn = true;
$('#myForm')
	.off('keydown')
	.on('keydown', function(event){
		if (event.keyCode == 17) {
	        $('#myForm').on('keydown', function(event){
			var msg  = $("#msg").val();
				if (event.keyCode == 13 && flagGoIn) {
					if (msg =='')
			{
				alert ("Заполните текст сообщения!");
				return false;
			}
					$.ajax({
				type: "POST",
				url: "action.php",
				data: "msg="+msg+"&action=add",
				

				success: function(msg){
					show_messages();
					clearForm();
					
			   }
			

			
			});
				$('#msg').val('');
					//$('#myForm').off('keydown');
					flagGoIn = false;
					
				}
			})
			.keyup(function(event){
				flagGoIn = true;
			});
		}
	});

      
  

      
	});

</script>	

</body>
</html>


action.php
// получаем переменные из формы
	//$username=$_REQUEST['username'];
	$msg=$_REQUEST['msg'];
	$action=$_REQUEST['action'];
	
	
	$msg=esc(mysql_real_escape_string(stripcslashes(htmlspecialchars($_REQUEST['msg']))));
	
	if ($action=="add")
	{
		// добавление данных в БД 
		$sql="INSERT INTO `us_guest` (id_user,id_user_**, time, msg) values('$us[id]', '0', '$time', '$msg')";

		$r=mysql_query ($sql);
	}
	


?>


show.php
$k_post=mysql_result(mysql_query("SELECT COUNT(*) FROM `us_guest` WHERE `id_user_**` = 0"),0);
$k_page=k_page($k_post,$set['p_str']);

	if ($page!="end")
	{
$page=$_REQUEST['page'];
	}




	if ($page=="end")
	{
	$page=$k_page;
	}


$start=$set['p_str']*$page-$set['p_str'];


if ($k_post==0)
{
echo "Нет сообщений<br/>\n";
}
	$r=mysql_query("SELECT * FROM `us_guest` WHERE `id_user_**` = 0 ORDER BY id DESC  LIMIT $start, $set[p_str] ");// выбор всех записей из БД, отсортированных так, что самая последняя отправленная запись будет всегда первой.
	while ($post=mysql_fetch_array($r))  // для каждой записи организуем вывод.
	{
		......
	}
	
echo'<a href="?page=2">Следующая страница</a><br/>';


Мне нужно чтобы при нажатии на ссылку "Следующая страница" .. страница менялась динамически без перезагрузки страницы.. подскажите пожалуйста как это можно сделать ?
Ответить с цитированием