lang="en-US"> Error FIX: Tiny_MCE & RSH Additional “Mysterious” Editor –  Design1online.com, LLC

Error FIX: Tiny_MCE & RSH Additional “Mysterious” Editor

The Problem
Of course I always find the most obscure problems that can occur….

I’m using AJAX and I have both RSH and Tiny_MCE running. To make my life easier I have Tiny_MCE automatically making all textarea fields into editors. Now, the problem is there’s a mysterious textarea field that shows up on Internet Explorer (Yay microsoft!) and it really shouldn’t be there. Even if there are no textarea fields on the entire page the Tiny_MCE editor still shows up.

So, it turns out, after several hours of Googling (is that a word?) I found out that RSH has a historyStorage.StorageField that is a pointer to a textarea DOM node. Go figure!!

This means the only way I can use Tiny_MCE and RSH is t0

1) Turn off the textareas mode and put in the id’s manually, which I can tell you now is not going to happen

2) Or re-write Tiny_MCE to disregard specific kinds of textareas.

The Solution
I modified the tiny_mce.jsp so if it’s set to textarea mode it automatically skips the textarea with ID rshStorageField. That way in IE it doesn’t show another random textarea floating somewhere on the screen.

case "textareas":

 				case "specific_textareas":

 					function hasClass(n, c) {

 						return c.constructor === RegExp ? c.test(n.className) : DOM.hasClass(n, c);

 					};						each(DOM.select('textarea'), function(v) {

 						if (s.editor_deselector && hasClass(v, s.editor_deselector))

 							return;

if (!s.editor_selector || hasClass(v, s.editor_selector)) {

 							// Can we use the name

 							e = DOM.get(v.name);

 							if (!v.id && !e)

 								v.id = v.name;

// Generate unique name if missing or already exists

 							if (!v.id || t.get(v.id))

 								v.id = DOM.uniqueId();

if (!v.id = "rshStorageField") //added by design1online.com

 							      new tinymce.Editor(v.id, s).render(1);

 						}

 					});

 					break;

You may also like...

2 Responses

  1. SzaMa says:

    Or simply just edit RSH to use input type=”text” instead of textarea, thus TinyMCE needn’t be modified.

    Just search for textarea in RSH source code, and replace:
    <textarea …
    to
    <input type="text" …
    and

    to

    Don’t use ‘ instead of “

  2. SzaMa says:

    again:

    Just search for textarea in RSH source code, and replace:
    <textarea …
    to
    <input type=”text” …
    and
    </textarea>
    to
    </input>
    Don’t use ‘ instead of ”

Leave a Reply to SzaMa Cancel reply