Javascript.RU

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

Обновление страницы после получения ответа от сервера
В ajax я еще новичок, еще не совсем разобрался в нем.
У меня следующий вопрос, как мне обновить страницу после получения ответа от сервера.
Как я понял обновление должно происходить после выполнения условия:
if (req.readyState == 4)

Вот весь код функции:
function form(number) {

    //создаём объект для запроса к серверу
    var req = getXmlHttp();
    //присваиваем переменным данные из нашей формы, для отправки серверу
    var field1 = number;
   
    var url = 'job.php?field1='+field1;
    //открываем соединение
    req.open('GET', url, true);
    // в нем будем отображать ход выполнения
    var statusElem = document.getElementById(number);
    // onreadystatechange активируется при получении ответа сервера
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            // показать статус (Not Found, ОК..)
            statusElem.innerHTML = req.statusText;
			
        }
		 

    }
    // отсылаем сформированный запрос
    req.send(null);

    statusElem.innerHTML = 'Ожидаю ответа сервера...';
}

У меня же после получения ответа происходит просто вывод за место кнопки отправить надписи: "ОК". А хотелось бы чтобы вся страница обновилась, т.е. после ответа выполнился бы заново весь php код на странице.
Ответить с цитированием
  #2 (permalink)  
Старый 25.01.2010, 10:13
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от potrashitel Посмотреть сообщение
выполнился бы заново весь php код на странице.
PHP выполняется на сервере http://phpfaq.ru/na_tanke
Ответить с цитированием
  #3 (permalink)  
Старый 25.01.2010, 11:00
Новичок на форуме
Отправить личное сообщение для potrashitel Посмотреть профиль Найти все сообщения от potrashitel
 
Регистрация: 25.01.2010
Сообщений: 2

Сообщение от Octane Посмотреть сообщение
PHP выполняется на сервере http://phpfaq.ru/na_tanke
Если я закомментирую эту строчку:
var statusElem = document.getElementById(number);

или функция getElementById не найдет на странице элемент с заданным id, то страница обновиться так как мне надо с обновленным php кодом. Но желательно еще что был виден процесс ожидания выполнения запроса.
Я думаю, что я не прошу чего-то невозможного.
Ответить с цитированием
  #4 (permalink)  
Старый 25.01.2010, 12:42
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

http://javascript.ru/window.location
Ответить с цитированием
  #5 (permalink)  
Старый 20.02.2015, 00:21
Аватар для Omirali
Новичок на форуме
Отправить личное сообщение для Omirali Посмотреть профиль Найти все сообщения от Omirali
 
Регистрация: 19.02.2015
Сообщений: 3

Помогите плиз хотел сделать постраничная навигация И это раздел кода
Работает первый клик,потом не работает. Где здесь ошибка????
$(document).ready(function(){
         $(".nav li").click(function(){
         	  var value =$(this).attr("id");
         	  var value = Number(value);
         	  var start = value-2;
         	  var stop = value+2;
         	  $(".content h1 b").text(value);
         	  $(".nav ul li").remove();
         	  for (var i = start; i <= stop; i++) {
         	  	$(".nav ul").append("<li id='"+i+"'>"+i+"</li>");

         	  }
         });

});


</script>
</body>
<div class="content">
	<h1>Click:<b></b></h1>
</div>
<div class="nav">
	<ul>
		<li id="1">1</li>
		<li id="2">2</li>
		<li id="3">3</li>
		<li id="4">4</li>
		<li id="5">5</li>
	</ul>

</div>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 20.02.2015, 11:43
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Omirali
Где здесь ошибка?
Объясни что делает этот код:
Сообщение от Omirali
$(".nav li").click(..)
То есть тут вызов двух функций. Объясни что делает каждая из них.

И объясни почему ты ожидаешь что твой скрипт должен работать так как ты хочешь.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 20.02.2015, 13:24
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,268

Сообщение от Omirali
Работает первый клик
Потому как на него навешен обработчик...
Сообщение от Omirali
потом не работает
Потому как обработчика на элементе нет.
Сообщение от Omirali
Где здесь ошибка?
Вероятно из-за отсутствия делегирования... Или неправильного выбора элемента, на который вешают обработчик...
Ответить с цитированием
  #8 (permalink)  
Старый 20.02.2015, 16:45
Аватар для Omirali
Новичок на форуме
Отправить личное сообщение для Omirali Посмотреть профиль Найти все сообщения от Omirali
 
Регистрация: 19.02.2015
Сообщений: 3

Это функция для постраницная навигация!
Хотел сделать например когда кликнули на четвертый элемент <li id="4">4</li> то список начал от 2 номера, а закончил 6. И по этому сначала удалил вес <li> ,потом через цикл добавил от start до stop снова. Потом ajax срабатывает. Проблема в том что когда кликнешь на новый <li> (от 2 до 6)список click не работает. Проблема в том что я добавил нового!?
script.js
$(document).ready(function(){
         $(".nav li").click(function(){
         	  var value =$(this).attr("id");
         	  var value = Number(value);
         	  var start = Number(value)-2;
         	  var stop = Number(value)+2;
         	  $(".nav ul li").remove();
			   for(var i=start; i<=stop; i++){
		           //alert(i);
			       $(".nav ul").append("<li id='"+i+"'>"+i+"</li>");  
			   }
			  $.ajax({
                 url:"data.php",
                 type:"GET",
                 data:"page="+value,
                 success:function(html){
                        $("#main_text").html(html).hide().fadeIn(300);
                           

                 }
             });

         });

});


index.php
<body>

<div class="content">
	<h1>Click:<b></b></h1>
	<?php
	$count_articles = get_count_articles($category);
	echo $count_articles."<br>";
	$page_number = number_pages($count_articles,COUNT_PER_PAGE);
	echo $page_number;
	if($_GET['page']){
		$page=(int)($_GET['page']);
	}else{
		$page=1;
	}
	$rows = get_posts($count_articles,$page,COUNT_PER_PAGE,$category);
	echo "<div id='main_text'>";
	for($i=0;$i<COUNT_PER_PAGE; $i++){
		printf("<b>%s</b>
		        <div class='article'>
		        <h2>%s-статья</h2>
				<br><p>%s</p>
				</div>",$rows[$i]['id'],$rows[$i]['id'],$rows[$i]['description']);
	}
	echo "</div>"
	?>
</div>
<div class="nav">
<ul>
    <li id="1">1</li>
    <li id="2">2</li>
    <li id="3">3</li>
    <li id="4">4</li>
    <li id="5">5</li>
</ul>

<script type="text/javascript">

</script>
</div>
</body>

Последний раз редактировалось Omirali, 20.02.2015 в 16:56.
Ответить с цитированием
  #9 (permalink)  
Старый 20.02.2015, 17:01
Аватар для Omirali
Новичок на форуме
Отправить личное сообщение для Omirali Посмотреть профиль Найти все сообщения от Omirali
 
Регистрация: 19.02.2015
Сообщений: 3

Что значить делегирования? Объясните пожалуйста! На первом клике работает запрос,а потом клик на новый список не реагирует,,, все ajax не работает
Ответить с цитированием
  #10 (permalink)  
Старый 24.02.2015, 10:04
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,268

Сообщение от Omirali
Проблема в том что я добавил нового!?
У вновь добавленых нет обработчиков событий.

Сообщение от Omirali
Что значить делегирования?
Вот статейка из учебника...
http://learn.javascript.ru/event-delegation
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрытие блоков после получения ответа nemo Общие вопросы Javascript 1 22.11.2009 10:22
Дописать стили после получения ответа nemo AJAX и COMET 1 21.11.2009 20:46
Событие после обновления страницы ajax'ом kryzhovnik Events/DOM/Window 4 07.10.2009 22:32
firefox зависает после обновления страницы constantant Firefox/Mozilla 4 14.09.2009 12:30
Цикличное обновление страницы Roman_kstu Общие вопросы Javascript 7 29.05.2008 05:55