0

こんにちは、私はそれを理解しようとしています...しかし、CKeditorコントロールに問題があります:

Ajax モードでの自動保存機能

Firebug では、単純なフィールド (テキストなど) の POST 送信が表示されますが、CKEDITOR の投稿は正しくありません (XPages を開いたときに初期値しか表示されません)

誰か考えがありますか?

PS私はonstart関数にこのコードを追加しました:

for(var instanceName in CKEDITOR.instances) {
CKEDITOR.instances[instanceName].updateElement();
 }

正しい HTML を含む POST が表示されるようになりました...動作していないようです

4

1 に答える 1

3

わかりました、問題を解決しました。このネイティブ RichText コードを XPages の先頭に挿入しました。

function CKEDITOResubmit(idCKEDITOR){
  var rte=dijit.byId(idCKEDITOR);
  var txta=XSP.getElementById(idCKEDITOR+'_h');
  if(!rte || !txta) return;
  txta.value = rte.getValue();
  var mod=XSP.getElementById(idCKEDITOR+'_mod');
  mod.value=rte.isModified(txta.value);
  return true;
} 

Update の自動ルーチンを開始する場合:

executeOnServer('autoSaveDoc',null,
{'valmode': 1, 
   onStart:function() { 
            for(var instanceName in CKEDITOR.instances) {
              CKEDITOResubmit(instanceName)
            }
            btn.innerHTML="saving....";console.log("autosave start"); },
   onComplete:function() {btn.innerHTML="saved!"; console.log("autosave complete")},
   onError: function() {btn.innerHTML="error saving"; console.log("autosave error") }
 })
于 2013-06-12T15:10:55.743 に答える