1

ckeditor インスタンスのテキストエリアに背景色を適用するのに問題があります。

ユーザーがテキストを追加せずに送信をクリックすると、すべての必須フィールドに入力するように指示するメッセージが表示され、これらの必須フィールドはすべて、テキスト フィールドが で設定されていbackground-color: #CFC183;ます。

ckeditor は JavaScript コードで作成されているため、テキスト領域にテキストが入力されているかどうかを確認するために使用していました。文字がない場合は、変更を適用します。コンソールでこのコードを適用すると:

CKEDITOR.instances.body.document.getBody().setStyle('background-color', '#CFC183');

それは私が望むように背景を適用します。そのため、この JavaScript コードを JavaScript ファイルに追加して管理しようとしましたが、機能していないようです。これが私のコードです:

var editorInstance = CKEDITOR.replace('body', { toolbar : 'Full' });
editorInstance.on("instanceReady", function (ev) { 
    var editorCKE = CKEDITOR.instances.body; readyMap[editorCKE] = true;
    editorCKE.setReadOnly(true); 
});
var hasText = CKEDITOR.instances.body.document.getBody().getChild(0).getText();
if (!hasText) { 
    CKEDITOR.on('instanceCreated', function(e) { 
        e.editor.document.getBody().setStyle('background-color', '#CFC183');
    });
}

Firebug には、次のエラー メッセージが表示されます。

TypeError: CKEDITOR.instances.body.document が定義されていません

私は Javascript があまり得意ではないので、コードに何か問題がありますか? 私はすでにこの質問をここでチェックしたので、JavaScript コードに何か問題があると思います。助けてください。

4

1 に答える 1