Több FCKEditor az oldalon
Sziasztok!
Az alábbi dologban kérnék segítséget:
Van egy adminisztrációs felület, melyen 2 db FCKEditor-t szeretnék megjeleníteni. A megjelenítést a két helyen az alábbi PHP kóddal valósítom meg:A fenti példának megfelelően a két azonosító legyen Editor1 és Editor2, és fontos megemlíteni, hogy az Editor1 töltődik be előbb. Az szerkesztők megjelennek rendesen.
Amikor a tartalom szerkesztéssel végeztem, szeretném a tartalmakat a szerverre feltölteni prototype.js használatával.
Készítettem egy JavaScript osztályt, mely összegyűjti a szükséges információkat a tartalmak beküldéséhet, beleértve az editorok tartalmát is.
Az editorok tartalmát az alábbi JavaScript kóddal szereném kiszedni a szerkesztőből:Az Editor1 azonosítóval rendelkező szerkesztővel nincs gond (azaz a FCKEditorTartalomEditor1 értéke object). Viszont a második szerkesztő esetén annak ellenére, hogy az editor az oldalon gond nélkül megjelent, JavaScript-ből nem lát semmit a böngésző, azaz a FCKEditorTartalomEditor2 változó értéke undefined. Így persze a tartalmakat nem tudom elérni.
Teszteltem Firefox3 és Internet Explorer 7 alatt a dolgot, de mind a két böngésző ugyan úgy reagál, a kérdéses változó értéke undefined.
Találkozott már valaki ilyen problémával?
Tud valaki segíteni?
Előre is köszi a segítséget.
Üdv.
fERI
■ Az alábbi dologban kérnék segítséget:
Van egy adminisztrációs felület, melyen 2 db FCKEditor-t szeretnék megjeleníteni. A megjelenítést a két helyen az alábbi PHP kóddal valósítom meg:
$oFCKeditor = new FCKeditor($FCKEditorID);
$oFCKeditor->BasePath = $BaseRUL;
$oFCKeditor->ToolbarSet = $ToolBarSet;
$oFCKeditor->Height = $Magassag;
$oFCKeditor->Width = $Szelesseg;
$oFCKeditor->Value = $Value;
$oFCKeditor->Create();
Amikor a tartalom szerkesztéssel végeztem, szeretném a tartalmakat a szerverre feltölteni prototype.js használatával.
Készítettem egy JavaScript osztályt, mely összegyűjti a szükséges információkat a tartalmak beküldéséhet, beleértve az editorok tartalmát is.
Az editorok tartalmát az alábbi JavaScript kóddal szereném kiszedni a szerkesztőből:
var FCKEditorTartalomEditor1 = FCKeditorAPI.GetInstance('Editor1');
var TartalomEditor1 = FCKEditorTartalomEditor1.EditorDocument.body.innerHTML;
var FCKEditorTartalomEditor2 = FCKeditorAPI.GetInstance('Editor2');
var TartalomEditor2 = FCKEditorTartalomEditor2.EditorDocument.body.innerHTML;
Teszteltem Firefox3 és Internet Explorer 7 alatt a dolgot, de mind a két böngésző ugyan úgy reagál, a kérdéses változó értéke undefined.
Találkozott már valaki ilyen problémával?
Tud valaki segíteni?
Előre is köszi a segítséget.
Üdv.
fERI
Hmm
Esetleg valami mintaoldal, könnyebben tudnánk segíteni...
Nem kétszer
Az első kódrészle az egy PHP osztálynak a része, melyet a megfelelő DIV-ekben meghívók (azaz kétszer egymás után) Editor1 és Editor2 azonosítókkal.
Közben szenvedtem még vele, és az alábbi próbálkozásoknál ugyan az az eredmény:
1. Nem megy a PHP-s integráció (ezt láttad fent), egy osztályból metódus meghívásával;
2. JavaScript intergációs módszer szintén nem megy a ... oFCKeditor.Create();
alkalmazásával;
3. Javascript ... oFCKeditor.ReplaceTextarea(); alkalmazásával szintén nem megy;
4. JavaScript ... div.innerHTML = fck.CreateHtml(); szintén nem megy.
Mindegyik esetben a szerkesztők megjelennek, de a második szerkesztőt, mint objektumot nem érem el.
Sajnos jobb ötletem nincs, a két szerkesztőt beleteszen egy-egy IFRAME-ba. Ennek nem nagyon örülök, mert nekem gányolásnak tűnik, és a tárhely szempontjából erre nem vagyok rákényszerítve.
Sajnos az oldal nincs kirakva, még fejlesztés alatt áll.
Az érdekesség az, hogy amikor a szerkesztők integrálásra kerülnek az oldalba, akkor a </body> felett létrehoz 2 db teljesen egyforma rejtett IFRAME, és gyanúm szerint ez lehet az, ami összeakad. De ez csak tipp.
Esetleg így látatlanban van valakinek a fentiek alapján valami ötlete?
Előre is köszönöm.
Üdv.
fERI
Átmeneti megoldás
A fenti problémával kapcsolatban az alábbi megoldást találtam ki. Miután a szerkesztők inicializálásra kerültek (teljesen mindegy, hogy PHP vagy JavaScript segítségével), a szerkesztők objektumait kiteszem egy-egy GLOBÁLIS JavaScript változóba. Íme a JavaScript forrás, mely megvalósítja a feladatot (a fentebb említett példáimat figyelembe véve):
Így az objektumok megvannak, és az XHTML és Plain Text tartalmak lekérdezhetők az alábbi JavaScript kódokkal:
Mondjuk az eredti probléma még továbbra is rejtély.
Ha valaki esetleg rájön, akkor kérem, jelezze.
Amennyiben valakinek van jobb megoldása, akkor nyitott vagyok mindenre.
Köszönöm a fáradozásakot.
Üdv.
fERI