Here's how I got it working with FCKEditor 2.3.2 (FCKEditor .NET 2.2)
In my web control page_load code, I register the client script and add an onsubmit to my link button (called lbSave here).
If Not Page.IsPostBack Then
If Not Page.ClientScript.IsClientScriptBlockRegistered("FCKAjaxHack") Then
Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "FCKAjaxHack", String.Format("<script type=""text/javascript"" src='{0}'></script>", ResolveUrl("~/js/FCKHack.js")))
End If
lbSave.Attributes.Add("onclick", "if (eval('(typeof(MyFCKObject) != \'undefined\');')){MyFCKObject.UpdateEditorFormValue(); return true;}else{return true;}")
End If
...and my javascript include file (FCKHack.js) contains the following:
// Some Class
function MyFCKClass()
{
this.UpdateEditorFormValue = function()
{
for ( i = 0; i < parent.frames.length; ++i )
if ( parent.frames[i].FCK )
parent.frames[i].FCK.UpdateLinkedField();
}
}
// instantiate the class
var MyFCKObject = new MyFCKClass();
... I changed the name of the javascript object and function from what was listed here ( http://wiki.fckeditor.net/Troubleshooting#head-c83215c3393542ddc261fb2b7a64b60a41253d76 ), since those names are a bit generic.