2010-12-14 42 views
1

J'ai créé une application qui utilise un tas de requêtes AJAX. Il affiche une table de produits, et à partir de là vous pouvez cliquer sur le nom d'un produit qui va ouvrir une boîte de dialogue (box1). Dans box1, il y a une autre liste de liens sur lesquels vous pouvez cliquer. Une fois cliqué, il ouvrira une autre boîte de dialogue (boîte2).tinyMCE s'affiche uniquement dans la boîte de dialogue si elle est initialisée au chargement de la page

Dans la zone 2, j'ai un champ de zone de texte qui est initialisé en tant que tinyMCE. Pour une raison quelconque, l'initialisation de la zone de texte en tant que petit éditeur de MCE ne fonctionnait pas. J'ai donc créé un champ de textarea séparé, initialisé en tant que tinyMCE sur le chargement de la page, dans un div stand alone, qui a bien fonctionné. J'ai donc navigué à la zone de texte dans la case 2, et étonnamment, il s'est initialisé comme un minuscule MCE. Donc, j'ai simplement mis ce div stand alone pour n'en afficher aucun. Comment cela a-t-il un sens?

Pour l'instant, je vais le laisser de cette façon parce que cela fonctionne. Cependant, je doute fortement que ce soit la bonne façon de procéder. Quelqu'un d'autre a-t-il déjà vécu quelque chose de similaire? Faites-moi savoir si je devrais poster du code.

Merci.

EDIT: Comme demandé, voici du code. Gardez à l'esprit que la fonction initTinyMCE a été écrite par quelqu'un d'autre depuis un fichier ASP classique. Mon travail consiste à le convertir en un fichier aspx.

fichier Backend la création de la zone de texte et d'appeler la fonction javascript initTinyMCE() ...

htmlString.Append("<p><span class=\"regTextBld\"><strong>Scenario Text</strong></span>"); 
      htmlString.Append("<script type=\"text/javascript\">initTinyMCE();</script>"); 
      htmlString.Append("<textarea class=\"TinyMCEeditor\" name=\"txtEntry\" id=\"txtEntry\" style=\"height:400px; width: 99%;\">" + reader["assumptions"] + "</textarea></p>"); 

Et est ici la fonction initTinyMCE ...

function initTinyMCE() { 
     //alert("x"); 
     initPlugins(); 
     tinyMCE.init({ 
      mode: "specific_textareas", 
      editor_selector: "TinyMCEeditor", 
      theme: "advanced", 
      //plugins : "economy,safari,style,table,advhr,advimage,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,visualchars,nonbreaking,template", 
      plugins: "economy,safari,style,table,inlinepopups,searchreplace,print,contextmenu,paste,fullscreen,visualchars,medclink", 
      theme_advanced_buttons1: "cut,copy,paste,pastetext,replace,print,|,undo,redo,|,rspell,|,link,unlink,|,hr,image,table,|,code", 
      theme_advanced_buttons2: "bold,italic,underline,removeformat,|,numlist, bullist,outdent,indent,|,justifyleft,justifycenter,justifyright,justifyfull,|,nonbreaking,charmap", 
      theme_advanced_buttons3: "", 
      theme_advanced_toolbar_location: "top", 
      theme_advanced_toolbar_align: "left", 
      content_css: "/style/intranet.css?" + new Date().getTime(), 
      paste_preprocess: function(pl, o) { 
       o.content = o.content.replace(/\u2019/gi, "'"); // ’ 
       o.content = o.content.replace(/\u201C/gi, "\""); // “ 
       o.content = o.content.replace(/\u201D/gi, "\""); // †
      }, 
      cleanup: false, 
      encoding: "html", 
      entity_encoding: "named", 
      verify_html: true 
     }); 
    } 
+0

S'il vous plaît poster quelques codes pour analiyse votre pbm –

Répondre

1

J'utilise jquery tinymce

$('#textareaid').tinymce().show(); 

Utilisez ce code lorsque vous cliquez sur textarea pour activer tinymce.

+0

tinymce active bien seulement quand j'active un textarea caché distinct tinymce sur pageload ... –