【问题标题】:richtext control doesn't store the input content富文本控件不存储输入内容
【发布时间】:2012-11-28 15:58:28
【问题描述】:

我的 XPage 有一个 RT 控件,用户可以在其中填充文本 sn-ps,并用更多文本完成内容。

“填充按钮”的eventHandler:

<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>

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

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

感谢您的帮助

呜呜

【问题讨论】:

    标签: xpages


    【解决方案1】:

    问题是您没有完全刷新富文本,只有具有富文本组件 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-03
      • 1970-01-01
      • 1970-01-01
      • 2020-06-18
      • 1970-01-01
      • 2019-06-02
      • 1970-01-01
      相关资源
      最近更新 更多