RichTextBox in a Single Textbox Among Multiple TinyMCE





5.00/5 (1 vote)
RichTextBox in a single textbox among multiple TinyMCE
Some time ago, I wrote a post about integration of TinyMCE editor in ASP.NET website. The same was also published in CodeProject and most visited article of mine. While answering comments there, I got a request from one of the readers.
His question was, “I have used TinyMCE Rich TextBox in my application but in my web form I have multiple multiline TextBox. What I want that Rich TextBox should be bind to only one text box not all TextBoxes.”
Situation
So the solution is here. Let's create a scene as below:
Here, we have to convert TextArea
for about to Rich Text Editor (WYSIWYG). Let's view the source code of the above design. I have tried to use simple HTML5 tags so that other users can also take advantage of this tutorial.
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html>
<head runat="server">
<title>Rich Text Editor in Single TextArea among many</title>
</head>
<body>
<form id="form1" runat="server">
<h1>Rich Text Editor in Single TextArea among many</h1>
<fieldset>
<legend>Profile Update</legend>
<p>
<label>Name</label>
<input type="text" id="txtName" runat="server" />
</p>
<p>
<label>Gender</label>
<input type="radio" name="Gender"
id="radioMale" runat="server" value="Male" />
<input type="radio" name="Gender"
id="radioFemale" runat="server" value="Female" />
</p>
<p>
<label>Email ID</label>
<input type="text" id="txtEmail" runat="server" />
</p>
<p>
<label>About</label>
<textarea rows="5" cols="50"
id="txtAbout" class="Editor" runat="server"></textarea>
</p>
<p>
<label>Remarks</label>
<textarea rows="2" cols="50"
id="txtremarks" runat="server"></textarea>
</p>
<p>
<asp:Button ID="btnSubmit" Text="Submit" runat="server" />
<input type="reset" value="Clear Form" runat="server" />
</p>
</fieldset>
</form>
</body>
</html>
Here, we are using TinyMCE version 4.0.xx. This version is a major upgrade and has a completely different look and internal architecture compared to version 3.xx. So here is some difference in its integration. If you are not familiar with this process, please read our previous post, that will describe to you about Copying required files in project directory and inserting script in more details. Insert the below code before closing of head
tag in your HTML page.
<script src="script/tinymce/tinymce.min.js" type="text/javascript"></script>
<script type="text/javascript">
tinymce.init({
selector: ".Editor",
theme: "modern",
plugins: ["lists link image charmap print preview hr anchor pagebreak"],
});
</script>
</head>
Notable
Notable and new code in above integration script is selector
tag. This is a new included tag in TinyMCE version 4.0.xx. This gives us the below options.
Do not forget to change the path to Script
as per your folder structure.
-
selector : “textarea”
: This option will convert all TextAreas in visual editor.
-
selector : “textarea.Editor”
: This option will select all TextAreas with CSS Class Editor applied.
-
selector : h1.Editor
or
div.Editor
: This option will change this to Inline editor for H1 orDIV
with CSS class name of Editor.
TextArea
s. Here we used this method.Older Version
Head
section of HTML page.
[javascript] <script type="text/javascript"
src="script/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript" language="javascript">
tinyMCE.init({
// General options
// mode: "textareas",
// Set mode to Exact.
//mode: "exact",
// Write the name of ID of TextArea where you want editor to appear in element property.
elements : "txtRemarks",
theme: "advanced",
plugins: "pagebreak,style,layer,table,save, advhr,advimage,advlink,emotions,iespell,inlinepopups",
});
</script>
Output
Now, the output of the above work is below:
It's perfect.
If you find this tip helpful, drop a comment or share with your friend.
+John Bhatt