Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][AJAX] Problem z edytorem TinyMCE
przemilke
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 3.01.2007

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


Witam,

Mam problem z poprawną implementacją edytora TinyMCE na swojej stronie.

W index.php ładuję składnię:
  1. <script type="text/javascript" src="lib/tiny_mce/tiny_mce.js"></script>
  2. <script type="text/javascript">
  3. tinyMCE.init({
  4. mode : "textareas",
  5. theme : "simple",
  6. extended_valid_elements : "img[class=myclass|!src|border:0|alt|title|width|height]",
  7. invalid_elements : "strong,b,em,i"
  8. });


Kiedy w body index.php dodam textarea (jak poniżej), TinyMCE działa poprawnie:
  1. <form method="post" action="somepage">
  2. <textarea id="content" name="content" cols="85" rows="10"></textarea>
  3. </form>


Za pomocą buttona wywołuję ajaxową funkcję prPrzegladajProdukty() (czysty ajax) i ładuje mi się strona pr_produkty_przegladaj.php w ramach index.php (w divie panelcontent, a więc zmierzam do tego, że nagłówek z index.php jest dalej widoczny jak i sekcje script):
  1. function prPrzegladajProdukty()
  2. {
  3. //blokuj();
  4.  
  5. url = "includes/pr_produkty_przegladaj.php";
  6. url = encodeURI(url);
  7. disableButtons = true;
  8. startGETRequest(url, onComplete, prFiltrProdukty, "panelcontent", 1, null);
  9.  
  10. }


Kiedy w body pr_produkty_przegladaj.php dodam textarea nie działa TinyMCE. Pojawia się tylko samo textarea. (IMG:style_emoticons/default/dry.gif)
Nie wiem dlaczego się tak dzieje... Nie znalazłem podobnego problemu w sieci, raczej takie z działaniem submit'a w ajaxie...
Proszę o pomoc
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Hmm, a znamy funkcję startGETRequest? Wspominasz coś o identyfikatorach, a w kodzie nic o nich nie ma; tzn. jest co nieco, ale mało wiążące, gdyż to sama nazwa parametru.
Go to the top of the page
+Quote Post
przemilke
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 3.01.2007

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


Dzięki, za sugestię, ale niestety nie zrozumiałem do końca Twojego przesłania. Czy muszę uzupełnić funkcję startGETRequest?

  1. function startGETRequest(url, onComplete, onEnd, content, parametronend, komunikat)
  2. {
  3. var XMLHttpRequestObject = getXMLHttpRequestObject();
  4. if(XMLHttpRequestObject){
  5. XMLHttpRequestObject.open("GET", url);
  6. XMLHttpRequestObject.onreadystatechange = function()
  7. {
  8. if (XMLHttpRequestObject.readyState == 4){
  9. if(XMLHttpRequestObject.status == 200){
  10. var responseXML = XMLHttpRequestObject.responseXML;
  11. var responseText = XMLHttpRequestObject.responseText;
  12. if(content == null && komunikat ==null)
  13. onComplete(responseText, responseXML);
  14. else
  15. onComplete(responseText, responseXML, content, komunikat);
  16.  
  17. }
  18. delete XMLHttpRequestObject;
  19. if(parametronend == null)
  20. onEnd();
  21. else
  22. onEnd(parametronend);
  23. }
  24. }
  25. XMLHttpRequestObject.send(null);
  26. }
  27. }


Funkcja określa mi jedynie miejsce ładowania strony pr_produkty_przegladaj.php w obrębie index.php, dokładnie w tym miejscu (index.php):
  1. <div id="panelcontent" >
  2.  
  3. </div>


Czy to w ogóle ma jakieś powiązanie? (IMG:style_emoticons/default/blinksmiley.gif)
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nie, chodziło mi o cały kod. Skąd pobierasz wszystkie zmienne przy wywołaniu tej funkcji?
Go to the top of the page
+Quote Post
franki01
post
Post #5





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


Z inicjacji tinyMCE zrób funkcję:
  1. <script type="text/javascript" src="lib/tiny_mce/tiny_mce.js"></script>
  2. <script type="text/javascript">
  3. function init_tinyMCE()
  4. {
  5. tinyMCE.init({
  6. mode : "textareas",
  7. theme : "simple",
  8. extended_valid_elements : "img[class=myclass|!src|border:0|alt|title|width|height]",
  9. invalid_elements : "strong,b,em,i"
  10. });
  11. }
  12. init_tinyMCE();


W startGETRequest() rozumiem, że drugi parametr to callback?

  1. function prPrzegladajProdukty()
  2. {
  3. //blokuj();
  4.  
  5. url = "includes/pr_produkty_przegladaj.php";
  6. url = encodeURI(url);
  7. disableButtons = true;
  8. startGETRequest(url, function(p1, p2, p3, p4) { init_tinyMCE(); }, prFiltrProdukty, "panelcontent", 1, null);
  9.  
  10. }
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: 23.08.2025 - 13:10