将Javascriptspellcheck与Ckeditor-Can';t Name CKEditor Textarea id

将Javascriptspellcheck与Ckeditor-Can';t Name CKEditor Textarea id,ckeditor,fckeditor,spell-checking,Ckeditor,Fckeditor,Spell Checking,我正在更新一些遗留代码,以支持在经典asp中从FCKEditor升级到CKEditor。我不是一个典型的asp设计师,所以我在这里只能凭直觉行事。我们以前使用Javascriptspellcheck进行拼写检查。我遇到的问题与此旧代码有关: function doSpellCheck() { var oSpell = new JavaScriptSpellCheck(); oSpell.callBack = function() { oEditor.SetHTML

我正在更新一些遗留代码,以支持在经典asp中从FCKEditor升级到CKEditor。我不是一个典型的asp设计师,所以我在这里只能凭直觉行事。我们以前使用Javascriptspellcheck进行拼写检查。我遇到的问题与此旧代码有关:

function doSpellCheck() {
    var oSpell = new JavaScriptSpellCheck();
    oSpell.callBack = function() {
        oEditor.SetHTML($('POST_MESSAGE').value);
    }
    oEditor.UpdateLinkedField();
    oSpell.spellCheckWindow('POST_MESSAGE');
}
oEditor是在FCKEditor_oncomplete()函数中定义的FCKEditor的实例。我尝试使用的新代码如下:

    function doSpellCheck() {
    oSpellEditor = CKEDITOR.instances['POST_MESSAGE'].getData();

    var oSpell = new JavaScriptSpellCheck();
    oSpell.callBack = function() {
        CKEDITOR.instances['POST_MESSAGE'].Setdata(oSpellEditor);
    }

    oSpell.spellCheckWindow('POST_MESSAGE');
}
我似乎面临的问题是JavaScriptSpellCheck();需要ckeditor实例的textarea id。我试图按照和nemisj的答案中的说明进行操作,但代码有问题。我并不真正理解DOM,也不知道在这种情况下如何操作它。我知道这不是asp,要创建ckeditor实例,我正在使用自定义asp sub创建它,但这是我遇到问题的地方

*编辑:找到答案。在创建新的CKEditor时,我需要添加如下文本区域属性:

Set pageEditorTop = New CKEditor

' Change default textarea attributes
set textareaAttributes = CreateObject("Scripting.Dictionary")
textareaAttributes.Add "id", "POST_MESSAGE"
Set pageEditorTop.textareaAttributes = textareaAttributes

您尝试使用的代码没有意义

这是到CKEditor的原始代码的直接端口:

function doSpellCheck() {
  var oEditor = CKEDITOR.instances['POST_MESSAGE'];
  var oSpell = new JavaScriptSpellCheck();
  oSpell.callBack = function() {
      oEditor.setData($('POST_MESSAGE').value);
  }
  oEditor.updateElement();
  oSpell.spellCheckWindow('POST_MESSAGE');
}