Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jQuery / Ajax / PHP a CKEditor, Ponowne załadowanie CKEditora do textarea
RABP
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 13.08.2012

Ostrzeżenie: (0%)
-----


Witam,

Sprawa jest następująca:
Implementuję do panelu CMS edytor CKEditor.
Inicjuję go w ten oto sposób:

  1. ...
  2. <script language="javascript">
  3. $(document).ready(function(){
  4. $('#edytor_cms').ckeditor();//#edytor_cms to id textarea, które zamieniane jest na CKEditor
  5. });
  6. </script>
  7. ...


Wszystko jest ładnie - edytor się ładuje, należycie formatuje tekst, a dane asynchronicznie przesyłane są do skryptu php, który zapisuje dane w MySQL.
Problem polega na tym, że po zapisaniu danych do bazy chcę aby ww. edytor został ponownie załadowany do textarea razem z nową zawartością.
Generalnie, pole textarea jest wczytywane, a polu tym jest nowa zawartość. Niestety w pole to nie jest załadowany edytor.
Kiedy odświeżę stronę, wszystko jest ok.

Pytanie brzmi:

Jak po ponownym załadowaniu tego elementu strony, dynamicznie załadować do niego CKEditor?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


A coś takiego próbowałeś (IMG:style_emoticons/default/questionmark.gif)
[JAVASCRIPT] pobierz, plaintext
  1. $.ajax({
  2. ..,
  3. success: function(response){
  4. $('#edytor_cms').ckeditor();//#edytor_cms to id textarea, które zamieniane jest na CKEditor
  5. }
  6. });
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
RABP
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 13.08.2012

Ostrzeżenie: (0%)
-----


Dzięki za odpowiedź!

Niestety, właśnie coś nie gra.
Generalnie założenie jest takie, że zanim pojawi się pole textarea, to już dla tego pola "ma być" zaimplementowany CKEditor.
I jak pisałem wcześniej, przy ładowaniu / odświeżaniu strony jest wszystko jak trzeba.
Natomiast po wykonaniu tego, co poniżej, ni jak nie działa - jest tylko surowe pole textarea z nową treścią.

[JAVASCRIPT] pobierz, plaintext
  1. ...
  2. success: function(dane) {
  3. $('#edytor_cms').ckeditor();
  4. $('#moduly').html(dane);
  5. }
  6. ...
[JAVASCRIPT] pobierz, plaintext


Gdzieś czytałem, że w FCKEditorze trzeba wyczyścić zmienne, by asynchronicznie na nowo go załadować, ale nie mogę nic na ten temat znaleźć w dokumentacji CKEditora.
Może jeszcze jakieś pomysły (IMG:style_emoticons/default/questionmark.gif)

Nie ma to jak poranna burza mózgów.

Ostatecznie sprawa wygląda tak - dla kogoś, kto by szukał:

[JAVASCRIPT] pobierz, plaintext
  1. ...
  2. success: function(dane) {
  3. $('#edytor_cms').destroy();//Usuwam instancję CKEditora, którą utworzyłem na samym początku
  4. $('#edytor_cms').ckeditor();//Ponownie tworzę nową instancję CKEditora
  5. $('#moduly').html(dane);//Ładuję asynchronicznie pobrane dane
  6. }
  7. ...
[JAVASCRIPT] pobierz, plaintext


Dzięki za zaangażowanie!
Temat zamknięty.

Ten post edytował RABP 16.09.2012, 10:00:08
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:11