Перейти к содержимому


Пользователь месяца
WGN WGN 1-й за Июль
Очков активности: 850 2 темы, 75 сообщений, 7 баллов репутации
Сайт: worldgamenews.com
ТОП самых активных за этот месяц
  • Фотография TimurR
    #1

    TimurR
    Очков активности: 372 3 темы, 22 сообщения, 8 баллов репутации

  • Фотография ShowPrint
    #2

    ShowPrint (ShowPrint.ru)
    Очков активности: 72 0 тем, 8 сообщений, 6 баллов репутации

  • Фотография WGN
    #3

    WGN (worldgamenews.com)
    Очков активности: 72 Вне конкурса за определение пользователя месяца

  • Фотография BlackLion
    #4

    BlackLion
    Очков активности: 36 0 тем, 24 сообщения, 1 балл репутации

  • Фотография Vmir
    #5

    Vmir
    Очков активности: 25.5 Вне конкурса за определение пользователя месяца

  • Фотография Napoleon-007
    #6

    Napoleon-007
    Очков активности: 21 0 тем, 14 сообщений, 1 балл репутации

  • Фотография Ixman
    #7

    Ixman (o5cat.ru)
    Очков активности: 21 0 тем, 7 сообщений, 2 балла репутации

  • Фотография alekswebart
    #8

    alekswebart
    Очков активности: 19.5 1 тема, 10 сообщений, 1 балл репутации

  • Фотография r0mZet
    #9

    r0mZet (rz-style.ru)
    Очков активности: 18 2 темы, 6 сообщений, 1 балл репутации

  • Фотография bor10811
    #10

    bor10811
    Очков активности: 15 2 темы, 4 сообщения, 1 балл репутации

  • Показать весь ТОП 10

Kwork.ru - услуги фрилансеров от 500 руб.

Поддержите форум! =)
Апдейты
  • Яндекс тИЦ: 19.11.2017
  • Яндекс выдача: 19.08.2018
Топ 5 участников по репутации


  • Закрытая тема Тема закрыта

Как подгружать содержимое на страницу без перезагрузки (стр. 3)

#21 Symphony

Symphony
  • Неактивные
  • 636 сообщений
  • Репутация: 54
0

Отправлено 02 April 2011 - 23:59

не буду новую тему создавать, т.к. опять аякс.
по сути:

есть некий <select> c id=pagedropdown при выборе какого-нить <option> взависимости от value подгружается контент(если точнее файл getpageedit.php, в котором находиться форма) в блок <div> c id=new_editpage
код для наглядности:
<select id=pagedropdown>
<option value=1>Сыр</option>
<option value=2>Картофель</option>
<option value=3>Водка</option>
</select>
<div id=new_editpage></div>

jq:
$("#pagedropdown").change(function() {
		var pagevalue = $("#pagedropdown option:selected").val();
		getpageedit();
	} );
function getpageedit() {
	var pagevalue = $("#pagedropdown option:selected").val();
	var edit = $("#new_editpage");
	if (pagevalue.length != 0) {
		edit.load('system/getpageedit.php',{id : pagevalue});
	}
}

код в getpageedit.php
<form method="POST" action="index.php">
<textarea class="ckeditor">
<?=$content;?>
</textarea>
</form>



Как я говорил ранее в файле getpageedit.php находиться форма. к <textarea> подключен CKeditor, вот собственно и проблема редактор не работает (пробывал getpageedit.php на прямую запускать, тогда всё пашет, следовательно после подгрузки формы через аякс перестает работать js, я так подозреваю, что код ckeditor'a не видит подгружаемую <textarea>). как заставить всё заработать?
  • 0


#22 ZiTosS

ZiTosS
  • Неактивные
  • 5148 сообщений
  • Репутация: 8

Отправлено 03 April 2011 - 02:48

Symphony, как я понимаю, JS CKeditor'а один раз пробегается по странице и заменяет все textarea с определенным классом на свой wysiwyg, этот момент - полная загрузка DOM-структуры страницы. Когда же вы производите запрос Ajax на сервер, то возвращаемый контент не будет обработан JS CKeditor'а, т.к. его инициализация производится вначале.
Вот такой вариант работает (без задержки не срабатывает):
$("#pagedropdown").change(function() {
		var pagevalue = $("#pagedropdown option:selected").val();
		getpageedit();
	} );
function getpageedit() {
	var pagevalue = $("#pagedropdown option:selected").val();
	var edit = $("#new_editpage");
	edit.hide();
	if (pagevalue.length != 0) {
		edit.load('system/getpageedit.php',{id : pagevalue});
	}
	var interval = setInterval(function(){
		$('.ckeditor').ckeditor();
		edit.show();
		clearInterval(interval);
	},500);
}

  • 0

#23 Symphony

Symphony
  • Неактивные
  • 636 сообщений
  • Репутация: 54

Отправлено 04 April 2011 - 11:34

всё отлично работает, когда первый раз выбираю из <select>'а <option value=1>Сыр</option>
Изображение
но когда делаю <option value=2>Картофель</option> второй раз, то загружается это:
Изображение
  • 0


#24 ZiTosS

ZiTosS
  • Неактивные
  • 5148 сообщений
  • Репутация: 8

Отправлено 04 April 2011 - 13:43

Symphony, Все атрибуты у тегов обверните в кавычки. Пока кавычек не видно...
Протестировал у себя на компе, всё работает.
Тест приложил в аттаче. Положите папку test в каталог _samples CKeditor

Прикрепленные файлы

  • Прикрепленный файл  test.zip   1.29К   Количество загрузок: 113

  • 0

#25 Symphony

Symphony
  • Неактивные
  • 636 сообщений
  • Репутация: 54

Отправлено 04 April 2011 - 16:25

да, если учитывать такой вариант оно работает, но если прописать
<textarea class="ckeditor" name="content_page"></textarea>
то уже не работает(
  • 0


#26 Symphony

Symphony
  • Неактивные
  • 636 сообщений
  • Репутация: 54

Отправлено 04 April 2011 - 17:04

все вопросы отпали, кому интересно или кому может пригодиться вот решение.
в положении , когда
<textarea class="ckeditor" name="content_page"></textarea>
скрипт не работает

удалил значение name в html получилось так:
<textarea class="ckeditor" name=""></textarea>

а в jq записал:
$('.ckeditor').attr('name','content_page');

форма начала работать.
  • 0


#27 ZiTosS

ZiTosS
  • Неактивные
  • 5148 сообщений
  • Репутация: 8

Отправлено 06 April 2011 - 15:55

Symphony, мистика, не должно быть такого. Потестирую на днях.
  • 0

#28 ProWebcash

ProWebcash
  • Неактивные
  • 2 сообщений
  • Репутация: 0

Отправлено 31 May 2011 - 13:02

Опять я. Мне нужно в информ контейнер писать название ткущей страницы. Я нашел $('#titl').append(title_new); Но проблема в том, что он дописывает к уже имеющимся символам, а мне надо что бы содержимое переписывалось полностью. Вижу два варианта: 1 - сначала стереть, потом уже вышеприведенным методом вставить. Но тогда вопрос, как стереть то, что там было. 2 - есть какой-то метод, который сразу может заместить содержимое, если есть такой, подскажите как он называется.

Здравствуйте, может помогу, а может и опоздал)

Для того чтобы динамически менять содержимое блоков используйте функцию jQuery - html(). Если в нее ничего не передавать - эта функция вернет код элемента или блока к которому применена, а если передавать аргумент - то это должна быть строка, которая собой подменит содержимое элемента или блока.
Таким образом имеем следующий код для изменения заголовка страницы:
$("title").html("My new title");
А так мы в переменную t получим заголовок:
t = $("title").html();

PS: советую к ФФ поставить плагины: Firebug (отладочная консоль), FireQuery (позволяет подключать библиотеку jQuery).
  • 0

robot

robot
  • Пользователь PRO
  • 2652 сообщений
  • Репутация: 85


Похожие темы

  Название темы Автор Статистика Последнее сообщение

Оформление форума – IPBSkins.ru