Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problemy z tinymce ładowany przez ajax
nospor
post
Post #1





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Hej, uzywam starego tinymce 3. Mam taki kod do inicjalizacji tinymce
Kod
jQuery('#idtextarea').tinymce({
//tu standardowe parametry
});

Gdy robie to w normalnym żądaniu, wszystko dziala ok. Mogę w ten sposob zamienic wiele textarea i wszystko jest ok.
Gdy jednak ten kod zostanie pobrany ajaxem i wstawiony do DIVa, to zadziala tylko raz. Za drugim razem, stworzy się kontrolka tinymce ale już bez tresci jaka była w textarea. A gdy probuje usunac te kontrolke nadpisujac inną treścią, dostaje blad NS_ERROR_UNEXPECTED: i wskazuje na totalnie zupelnie nie związaną linijke.''

Najlepsze jest to, że pare miesiecy temu to dzialało. Od tamtego czasu jedynie co się zmienilo to wersje przeglądarki (Firefox). Szukalem w necie, niby ludzie mają podobne problemy, ale nie udalo mi się nic z tamtych tematow wyciągnąć.

Próbowałem też zainstalować najnowszą wersje tinymce, ale problemy były podobne.

Miał ktoś kiedyś podobne problemy i może coś doradzic?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Masz na myśli sytuację kiedy na danym polu textarea zostaje przypięty TinyMCE po żądaniu ajaxowym, a przy kolejnym żądaniu ajaxowym i inicjalizacji TinyMCE na tym polu występuje błąd?
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie do konca. Pole textarea oraz kod js inicjalizujący tincemce na tym polu textarea są pobierane ajaxem a nastepnie wstawiane w div, cos takiego:

$('#jakisdiv').html(kod);
gdzie zmienna 'kod' zawiera kod html z kodem js.
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Spróbowałbym odpinać TinyMCE od pola przed kolejnym żądaniem ajaxa.
http://stackoverflow.com/a/4655467
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ale czemu mam odpinac od pola?
Ajaxem dodaje nowe pole i tinymce chce podpiac pod kolejne pole stare pozostawiajac bez zmian
Go to the top of the page
+Quote Post
trueblue
post
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Myślałem, że żądanie ajaxowe ładuje ten sam html/to samo pole.
Ale nie ładuje.

Może inne rozwiązanie. Inicjalizacja TinyMCE poza ajaxem, dodawanie (mceAddControl) do pól w ajaxie.

Ten post edytował trueblue 27.06.2014, 18:47:01
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Wyrzucilem inicjalizacje tinymce z ajaxa. Ajax zwraca mi sam kod html textarea.
Inicjalizacje konkretnego textarea z konkretnym ID wrzucilem do funkcji. Zapodaje sie do niej jako parametr ID i sru. Po zalodowaniu ajaxem kilku textarea, odpalilem w konsoli recznie funkcje z zadanymi ID - dziala
Dodalem automatycznie odpalanie funkcji w kodzie js dolaczanym z textarea - znowu nie dziala. Pierwsze tinymce sie pieknie zaladuje, reszta jak poprzednio.
Go to the top of the page
+Quote Post
trueblue
post
Post #8





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Jak inicjalizujesz TinyMCE?
Mam na myśli parametry.
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Kod
        jQuery('#id').tinymce({
script_url : 'sciezka/scripts/tinymce/jscripts/tiny_mce/tiny_mce.js',
mode : "exact",
elements : "id",
theme : "advanced",
plugins : "save,preview",
theme_advanced_buttons1 : "saveandback,save,newdocument,|,bold,italic,underline,strikethrough,|,justify
left,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,f
ontsizeselect",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_buttons4 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
theme_advanced_path : false,

template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js"
});



Zrobilem teraz jeszcze eksperyment i kod wywolujacy funkcje z inicjalizacją tinymce wywalilem z kodu razem z textarea wczytywanego ajaxem. Odpalam go w js po zaladowaniu ajaxa - oczywiscie wowczas wszystko dziala. Problemem wiec jest zapewne to:
$('#jakisdiv').html(kod);
jako 'kod' nie moze siedziec js inicjalizujacy tinymce... Musi byc tak
$('#jakisdiv').html(kodbezjs);
funkcja();

Troche dziwne, tym bardziej ze jak juz pisalem, wczesniej to dzialalo... No ale jak sie nie da inaczej, to zostawie tak, ale srednio mi sie to podoba.
Go to the top of the page
+Quote Post
trueblue
post
Post #10





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


A co w tym złego, skoro mniej danych jest przesyłanych w żądaniu, tym bardziej, że konfiguracja edytora, jak domniemam, jest taka sama dla każdego pola.
Obecnie parametr mode powinien być ustawiony na none, elements brak, a przypinanie edytora do pola, tak jak wcześniej podałem poprzez mceAddControl (tinyMCE.execCommand("mceAddControl",true,"id_pola")).
Go to the top of the page
+Quote Post
nospor
post
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
A co w tym złego, skoro mniej danych jest przesyłanych w żądaniu
ładuję rozne rodzaje pol. textarea z tinymce to tylko jedno z typow. Gdy wszystko jest w ajaxie, nie musze sie martwic o zadne dodatkowe sprawdzanie typu i ladowania dodatkowych akcji w zaleznosci od pola. Kazde pole ajaxem dostarcza wszystko co mu jest potrzebne. Teraz, spowodu durnego bledu FF, musze inicjalizacje pola prowadzic w dwoch odrebnych miejscach - to w tym jest wlasnie zlego.

Nie mniej jednak dzieki za pomoc. Z jakiegos powodu juz Twoj pierwszy post dal mi wskazowke (IMG:style_emoticons/default/smile.gif)
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: 14.09.2025 - 21:57