Javascript.RU

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

После вызова Ajax не работает JS?
есть знакомый многим скрипт:

$(document).ready(function(){
	
	$(".acc h3").eq(2).addClass("active");

	$(".acc h3").click(function(){
		$(this).next("p").slideToggle("fast").siblings("p:visible").slideUp("fast");
		$(this).toggleClass("active");
		$(this).siblings("h3").removeClass("active");
	});
});


все работает.. пишу админку и вот во что вляпался:

есть блок id1, вобщем редактирую его, говорю серверу пережувать:

function WriteOldForm(updateid,formid,subname) {
	var edit1=document.getElementById(formid).value;
	if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); }
	xmlhttp.onreadystatechange=function() {
  		if (xmlhttp.readyState==4 && xmlhttp.status==200) {
			document.getElementById(updateid).innerHTML=xmlhttp.responseText;
			alert('Блок успешно обновлен.'); 
		}
  	}
	xmlhttp.open("GET","sql.php?req1="+edit1+"&req2="+subname,true);
	xmlhttp.send();
}


он все верно вываливает, НО! после обновления не цепляет скрипт открытия\скрытия блока <p> у <h3>..

подробнее:

первый скрипт делает меню "гармошка" на основе:
<h3>заголовок</h3>
<p>Текст блока</p>

меняю в реалтайме на:

<h3>Велосипед</h3>
<p>Двухколесный</p>

все меняется, НО! JS гармошка - больше не работает - блок не открывается..

второй день сижу, все перепробовал..

з.ы. это нормально когда ajax'ом меняем код, а браузер выдает старый исходник?

з.ы.ы. в вызываемом выше sql.php переменная вида $_SESSION['xxx'] не работает?

Последний раз редактировалось V2oD2o, 20.01.2011 в 11:02.
Ответить с цитированием
  #2 (permalink)  
Старый 19.01.2011, 20:25
Интересующийся
Отправить личное сообщение для namo86 Посмотреть профиль Найти все сообщения от namo86
 
Регистрация: 18.11.2010
Сообщений: 19

Что пишет файрбаг ?
Ответить с цитированием
  #3 (permalink)  
Старый 19.01.2011, 20:35
Аспирант
Отправить личное сообщение для V2oD2o Посмотреть профиль Найти все сообщения от V2oD2o
 
Регистрация: 19.01.2011
Сообщений: 59

не пользовался им..
нашел, поставил, посмотрел - пустое окно ;\

ну никак понять не могу.. вот только на тот пункт который я обновляю - скрипт не обращает внимания..

Последний раз редактировалось V2oD2o, 19.01.2011 в 20:39.
Ответить с цитированием
  #4 (permalink)  
Старый 19.01.2011, 21:12
Интересующийся
Отправить личное сообщение для namo86 Посмотреть профиль Найти все сообщения от namo86
 
Регистрация: 18.11.2010
Сообщений: 19

Ну судя по описанию, при выполнении гдето происходит ошибка, файрбаг покажет где ...
Ответить с цитированием
  #5 (permalink)  
Старый 19.01.2011, 21:21
Аспирант
Отправить личное сообщение для V2oD2o Посмотреть профиль Найти все сообщения от V2oD2o
 
Регистрация: 19.01.2011
Сообщений: 59

где тут может быть ошибка?

до:
<div id=form1829><h3>Заголовок</h3><p>Текст блока</p></div>


после:
<div id=form1829><h3>Велосипед</h3><p>Двухколесный</p></div>


если вручную дать команду открыть блок - он открывается..
а вот jQuery его игнорирует по onclick.. все остальные блоки - работают..
Ответить с цитированием
  #6 (permalink)  
Старый 20.01.2011, 00:20
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

live?
Ответить с цитированием
  #7 (permalink)  
Старый 20.01.2011, 01:08
Аспирант
Отправить личное сообщение для V2oD2o Посмотреть профиль Найти все сообщения от V2oD2o
 
Регистрация: 19.01.2011
Сообщений: 59

Сообщение от x-yuri Посмотреть сообщение
live?
как его пользовать?
можно пример на основе первого скрипта?

Последний раз редактировалось V2oD2o, 20.01.2011 в 08:10.
Ответить с цитированием
  #8 (permalink)  
Старый 20.01.2011, 09:03
Интересующийся
Отправить личное сообщение для namo86 Посмотреть профиль Найти все сообщения от namo86
 
Регистрация: 18.11.2010
Сообщений: 19

Сообщение от V2oD2o Посмотреть сообщение
как его пользовать?
можно пример на основе первого скрипта?
Имелось ввиду, ссылку в студию ... сложно понять что там нитак по описанию, лучше уж один раз увидеть и объеснить что почем ...
Ответить с цитированием
  #9 (permalink)  
Старый 20.01.2011, 10:15
Аспирант
Отправить личное сообщение для V2oD2o Посмотреть профиль Найти все сообщения от V2oD2o
 
Регистрация: 19.01.2011
Сообщений: 59

ой.. я просто подумал о jQuery "live" примочке..

вот примитивный код для копипаста в htm документ:

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'></script>
 
<style type="text/css"> 
body {
	margin: 10px auto;
	width: 570px;
	font: 75%/120% Arial, Helvetica, sans-serif;
}
.accordion {
	width: 480px;
	border-bottom: solid 1px #c4c4c4;
}
.accordion h3 {
	background: #e9e7e7;
	padding: 7px 15px;
	margin: 3px;
	cursor: pointer;
}
</style>

<script type="text/javascript"> 
$(document).ready(function(){
	
	$(".accordion h3").addClass("active");
	$(".accordion p").hide();
 
	$(".accordion h3").click(function(){
		$(this).next("p").slideToggle("slow")
		.siblings("p:visible").slideUp("slow");
		$(this).toggleClass("active");
		$(this).siblings("h3").removeClass("active");
	});
 
});

function updatemenu() { document.getElementById('id1').innerHTML="<h3>Транспорт</h3><p>Велосипед</p>" }

</script>

<div class=accordion>
<div id=id1><h3>Заголовок1</h3><p>Текст1</p></div>
<div id=id2><h3>Заголовок2</h3><p>Текст2</p></div>
<div id=id3><h3>Заголовок3</h3><p>Текст3</p></div>
<div id=id4><h3>Заголовок4</h3><p>Текст4</p></div>
</div>
<br><br>
<a href="javascript:updatemenu();void(0);">Изменить меню</a>
Ответить с цитированием
  #10 (permalink)  
Старый 20.01.2011, 11:10
Аспирант
Отправить личное сообщение для V2oD2o Посмотреть профиль Найти все сообщения от V2oD2o
 
Регистрация: 19.01.2011
Сообщений: 59

проблема решена! ТЗ.
Спасибо всем!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает jQuery меню с AJAX eugene1986 jQuery 0 08.07.2010 18:49
Почему это работает? (инклуд JS в JS) Василий Б. Общие вопросы Javascript 4 11.06.2010 12:41
ajax запросы, работает на одних компах и не работает на других vtornik23 AJAX и COMET 2 22.03.2010 18:22
Сохранение результата ajax запроса после нажатия 'back' gregOlsen AJAX и COMET 5 18.11.2009 12:23
ajax запрос с подгружемным js HelpeR AJAX и COMET 1 27.10.2008 12:44