2012-02-01 17 views
7

कैसे मैं इसनया पाठ क्षेत्र के लिए TinyMCE जोड़े गतिशील

function addTinyText(id, text){ 
//add textarea to DOM 
$('<textarea id="txt'+id+'"></textarea>').append(text).appendTo('body'); 
//init tineMCE 
tinyMCE.init({ 
     theme : "advanced", 
     plugins : "emotions,spellchecker" 
}); 
//add tinymce to this 
tinyMCE.execCommand("mceAddControl", false, 'txt'+id); 
} 

लेकिन एक परिणाम के रूप हर बार कर सकते हैं हम एक नया पाठ क्षेत्र + tinyMCE लेकिन

क्या मैं गलत कर अंदर कोई पाठ नहीं है?

+0

यह मेरे सिस्टम (एफएफ 9) पर अच्छा काम करता है, आप किस ब्राउज़र का उपयोग कर रहे हैं? – Thariama

+0

मेरा ब्राउज़र क्रोम 16 है - और मेरा कोड वास्तव में इस पर अच्छा काम करता है। एमबी किसी भी संघर्ष wuz वहाँ – Luciuz

+0

समस्या, अगर पाठ में टैग हैं

और अन्य – Luciuz

उत्तर

1

लाइन

$('<textarea id="txt'+id+'"></textarea>').append(text).appendTo('body'); 

होना चाहिए लाइन

$('<textarea id="txt'+id+'"></textarea>').text(text).appendTo('body'); 
3

मैं एक बहुत लंबे समय की खोज के लिए एक समान समस्या का एक जवाब खोजने के लिए।

मेरी सामग्री पोस्ट नहीं की जा रही थी, यहां तक ​​कि मैं संपादक को दिखाई देने के लिए भी प्राप्त कर सकता था।

मैं इस तरह से काम कर रहा समझ में आ गया:

jQuery('.wysiwyg').tinymce({ 
     // Location of TinyMCE script 
     script_url : 'path/tinymce/tiny_mce.js', 

     // General options 
     theme : "advanced", 
    ......... 
    ......... 
    ......... etc 

मैं TinyMCE वस्तुओं के रूप में वर्ग के नाम wysiwyg के साथ सभी पाठ क्षेत्रों आरंभ करने के लिए मानक jQuery कोड का इस्तेमाल किया।

बाद ajax कॉल पूरा करता है और नया पाठ क्षेत्र भरी हुई है मैं इस समारोह चलाएँ:

jQuery(".wysiwyg").each(function(){ 
    tinyMCE.execCommand("mceAddControl",false, this.id); 
}); 

अब मेरी कोड अंत में सही ढंग से तैनात किया जा रहा है।

+10

TinyMCE 4 में, mceAddControl mceAddEditor बन गया ... –

+1

@DentraAndres आपको बहुत धन्यवाद। यह इस विषय पर सभी ट्यूटोरियल और ब्लॉग पोस्ट पर एक बड़ी विफलता है। महत्वपूर्ण विवरण यदि आप गतिशील रूप से TinyMCE textarea को प्रारंभ करने का प्रयास कर रहे हैं .. – Henrik