Rich Text控件不存储输入内容 [英] richtext control doesn't store the input content

查看:6
本文介绍了Rich Text控件不存储输入内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

My XPage有一个RT控件,用户可以在其中填充文本片段,并使用更多文本完成内容。

填充按钮的事件处理程序:

<xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="Body1">
    <xp:this.action><![CDATA[#{javascript:
    var mykey = getComponent("Aufgabe1").getValue();
    var bodytxt:string = @DbLookup(@DbName(), "lookupOrdertypes",mykey,4,"[FAILSILENT]");
    if (checkContent(bodytxt)) getComponent("Body1").setValue(bodytxt);
}]]></xp:this.action>
</xp:eventHandler>

文本被填写,用户看到它并再写一些。最后,用户提交表单:但在富文本字段中只保存了填充的文本片段!如果用户不使用该按钮,而是只输入他的文本,则文本将被正确保存。

当我将Rich Text控件更改为多行编辑框时,一切正常。

感谢您的帮助

UWE

推荐答案

问题是您没有完全刷新富文本,而只是刷新了具有richtText组件ID的文本区域。但还有两个其他组件必须刷新:inputRichText1_mod和inputRichText1_h,这是从XspInputRichText组件自动生成的两个字段。

如果您刷新周围的元素,则代码应该可以工作:

<xp:div id="refreshMe">
   <xp:inputRichText id="Body1" value="#{document1.Body}"></xp:inputRichText>
</xp:div>

现在刷新div

<xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="refreshMe">
   <xp:this.action><![CDATA[#{javascript:
      var mykey = getComponent("Aufgabe1").getValue();
      var bodytxt:string = @DbLookup(@DbName(), "lookupOrdertypes",mykey,4,"[FAILSILENT]");
      if (checkContent(bodytxt)) getComponent("Body1").setValue(bodytxt);
   }]]></xp:this.action>
</xp:eventHandler>

这篇关于Rich Text控件不存储输入内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆