Click here to Skip to main content
Click here to Skip to main content

Fully JavaScript Enabled Editor

, 7 Sep 2010 CPOL
Rate this:
Please Sign up or sign in to vote.
Fully JavaScript enabled editor which also contains some server coding

Images

  1. Editor

    screenshot1.jpg

  2. Inserting Links

    insertlink.jpg

  3. Inserting Images

    insertimage.jpg

  4. Inserting Table

    insertable.jpg

  5. Inserting Special Characters

    insertchars.jpg

Introduction

Well, I have tried a fully JavaScript enabled editor. Here I have updated it with more features.

Code

In the article, I am giving sample code. The full code is available in the zip file.

I have planned to release this editor as a product with more advanced features. So as of now for demo purposes, I have shown inserting links, images, table and special characters. All other features like inserting flash, media files, templates, saving templates and inserting all major HTML controls and context menu for the editor and for the controls and browser compatibility and handling postback events will be available in the licensed version.

Setting Color

function setColor(colorTo,x,y)
{
    editFrame.focus();
    editFrame.document.execCommand(colorTo,true, colorArray[x][y]);
    popDivId.style.display = "none";
}

Setting Font

function setFont(fontName)
{
    editFrame.focus();
    editFrame.document.execCommand("FontName", false, fontName);
    popDivId.style.display = "none";
}

Setting Font Size

function setFontSize(fontSize)
{
    editFrame.focus();
    editFrame.document.execCommand("FontSize", false, fontSize);
    popDivId.style.display = "none";
}

Setting General Action

function doAction(action)
{
    editFrame.focus();
    if(action == "ClearAll")
    {
        editFrame.document.execCommand("SelectAll",true);
        action = "Delete";
    }
    editFrame.document.execCommand(action,true);
}

Showing Dialog Boxes

function showDialog(link,w, h)//380, 125
{
    if(link == "li")
        link = "InsertLink.htm";
    else if(link == "sc")
        link = "SpecialChars.htm";
    var returnedTxt= showModalDialog(link,"", "dialogWidth:"+ 
		w +"px; dialogHeight:"+ h +"px; status:no; center:yes");
    editFrame.focus();
    if(returnedTxt)
    {
        var theRange = editFrame.document.selection.createRange();
        theRange.pasteHTML(returnedTxt);
    }
}

Showing Popup Windows

var cWnd;
function showInsertPopup(opt, w, h) // w=350, h=340
{
    var srcfile = "imgWindow.aspx";
    if(opt == "im")
        srcfile = "imgWindow.aspx";
    else if(opt == "tb")
        srcfile = "InsertTable.htm";
    var left = (window.screen.width - parseInt(w))/2;
    var top = (window.screen.height - parseInt(h))/2;
    if(cWnd)
        cWnd.close();
    cWnd = window.open(srcfile,"", "width="+ w +",height="+ 
	h +",location=no, status=no, top="+ top +", left="+ left);
}

Setting HTML Action

function doHtmlAction(atype)
{
    editFrame.focus();
    var selectedRegion = editFrame.document.selection.createRange();
    if(atype == "lower")
        selectedRegion.text = selectedRegion.text.toLowerCase();
    else if(atype == "upper")
        selectedRegion.text = selectedRegion.text.toUpperCase();
}

Points of Interest

  • Since Undo and Redo are again included
  • Also developed in VB.NET and PHP
  • Bugs in Font Size, Font Family, Forecolor, Backcolor are fixed

Conclusion

Thank you. I expect feedback from you, and you expect more from me.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

No Biography provided

Comments and Discussions

 
GeneralMy vote of 5 PinmemberMd. Touhidul Alam Shuvo20-Jun-11 17:47 
GeneralMy vote of 4 PinmemberGaurav Chaurasiya20-Sep-10 8:10 
GeneralMy vote of 4 PinmemberEric Xue (brokensnow)7-Sep-10 18:22 
Generalnot working IN MOZILLA PinmemberMember 365136526-Feb-10 1:17 
QuestionCan you provide more property for each control?? PinmemberJLKEngine00827-Nov-08 22:24 
QuestionWhy you removed Undo and Redo ??? PinmemberJLKEngine00827-Nov-08 20:41 
GeneralMy vote of 2 PinmemberAxelM27-Nov-08 20:24 
QuestionHow can you provide context menus for each controls? PinmemberJLKEngine00827-Nov-08 20:21 
GeneralJavaScript editor PinmemberMember 420697421-Oct-08 0:33 
GeneralThere is some bug in your new version!! PinmemberJLKEngine00816-Oct-08 6:31 
QuestionHI,can you provide a popmenu for each html Control?? PinmemberJLKEngine00817-Sep-08 23:58 
General[Message Removed] PinmemberMojtaba Vali8-Jun-08 17:56 
Questionhow to give a popmenu to textbox? [modified] PinmemberJLKEngine0088-Jun-08 15:57 
GeneralColor choosing doesn't work PinmemberJose M. Menendez Poó6-Jun-08 3:48 
QuestionQuestion ??? PinmemberAbhijit Jana15-Jan-08 2:06 
GeneralInternet Explorer only I assume Pinmemberjmcglothlin13-Jan-08 5:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.141030.1 | Last Updated 7 Sep 2010
Article Copyright 2008 by Saleth Prakash
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid