Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.03.2013, 12: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/>';


Мне нужно чтобы при нажатии на ссылку "Следующая страница" .. страница менялась динамически без перезагрузки страницы.. подскажите пожалуйста как это можно сделать ?
Ответить с цитированием
  #2 (permalink)  
Старый 04.03.2013, 12:52
Аспирант
Отправить личное сообщение для skynet-mfd Посмотреть профиль Найти все сообщения от skynet-mfd
 
Регистрация: 28.12.2012
Сообщений: 40

Вот это забыл наверное

$("#myForm").ajaxForm(function() {

});
Ответить с цитированием
  #3 (permalink)  
Старый 04.03.2013, 13:01
Аспирант
Отправить личное сообщение для skynet-mfd Посмотреть профиль Найти все сообщения от skynet-mfd
 
Регистрация: 28.12.2012
Сообщений: 40

строки 105...115 нужно убрать и задать как раз вот для ajaxForm
Ответить с цитированием
  #4 (permalink)  
Старый 04.03.2013, 13:05
Аспирант
Отправить личное сообщение для skynet-mfd Посмотреть профиль Найти все сообщения от skynet-mfd
 
Регистрация: 28.12.2012
Сообщений: 40

в твоем случае будет что то типа
$("#myForm").ajaxForm({
	                type: "POST",
	                url: "action.php",
	                data: "msg="+msg+"&action=add",
	                success: function(msg){	                        show_messages();
              clearForm();
	               }

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

Сообщение от skynet-mfd Посмотреть сообщение
в твоем случае будет что то типа
$("#myForm").ajaxForm({
	                type: "POST",
	                url: "action.php",
	                data: "msg="+msg+"&action=add",
	                success: function(msg){	                        show_messages();
              clearForm();
	               }

type, post можно не указывать и прописать в самой форме
а что с ссылкой делать ?
echo'<a href="?page=2">Следующая страница</a><br/>';


мне нужно переключать страницы без перезагрузки страницы.. то есть чтобы в файле show.php менялась переменная $page сразу после нажатия ссылки
Ответить с цитированием
  #6 (permalink)  
Старый 04.03.2013, 13:51
Аспирант
Отправить личное сообщение для skynet-mfd Посмотреть профиль Найти все сообщения от skynet-mfd
 
Регистрация: 28.12.2012
Сообщений: 40

чет не совсем понятный show.php, тут курить его надо...

это ято такое data: "&page=<?=intval($_GET['page'])?>",
Ответить с цитированием
  #7 (permalink)  
Старый 04.03.2013, 14:02
Интересующийся
Отправить личное сообщение для VEGA Посмотреть профиль Найти все сообщения от VEGA
 
Регистрация: 28.02.2013
Сообщений: 14

Сообщение от skynet-mfd Посмотреть сообщение
чет не совсем понятный show.php, тут курить его надо...

это ято такое data: "&page=<?=intval($_GET['page'])?>",
это я переношу номер страницы в get запросе... чтобы в show.php знать какую страницу выводить..

как сделать так чтобы переключались страницы без перезагрузки страницы.. чтобы в файле show.php менялась переменная $page сразу после нажатия ссылки.. ?
Ответить с цитированием
  #8 (permalink)  
Старый 04.03.2013, 14:05
Аспирант
Отправить личное сообщение для skynet-mfd Посмотреть профиль Найти все сообщения от skynet-mfd
 
Регистрация: 28.12.2012
Сообщений: 40

у тебя на одной странице по одному сообщению?
Ответить с цитированием
  #9 (permalink)  
Старый 04.03.2013, 14:08
Аспирант
Отправить личное сообщение для skynet-mfd Посмотреть профиль Найти все сообщения от skynet-mfd
 
Регистрация: 28.12.2012
Сообщений: 40

по идее номер текущей страницы должен вычисляться в самом show.php и уже передаваться клиенту как факт, где гарантия что страница вообще должна переключиться
Ответить с цитированием
  #10 (permalink)  
Старый 04.03.2013, 14:12
Аспирант
Отправить личное сообщение для skynet-mfd Посмотреть профиль Найти все сообщения от skynet-mfd
 
Регистрация: 28.12.2012
Сообщений: 40

мы вот тут пишем до сих пор на первой стрице
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно сделать подгрузку и смену изображения без перезагрузки страницы с другого Евгений Болгов jQuery 11 21.10.2010 17:18
Изменение содержания страницы без полной перезагрузки самой страни gelo Events/DOM/Window 7 29.08.2010 01:03
Подскажите как в VLC плеере переключать канал без перезагрузки страницы? mff Events/DOM/Window 0 10.05.2010 16:28
Подгрузка контента в определённый DIV при нажатии на ссылку, без перезагрузки страниц Flashton Events/DOM/Window 0 10.03.2010 18:53
реализация добавления поля формы без перезагрузки sc2r2bey Элементы интерфейса 1 31.07.2009 15:51