测试XPiNC和浏览器应用程序时,一些用户希望在尝试填写某些字段并且文档为!currentDocument.isEditable()
时显示一些弹出/警告窗口。
主要文档结构位于Xpages中,并且有许多字段,其中一些字段为showReadonlyAsDisabled="true"
,其中一些字段不存在。
所以,当用户打开现有文档时,他们甚至无法访问这些字段,他们只是点击了xpage。是否可以显示一些消息/警报窗口?此任务是否与xpage中的字段或某些事件有关系?
感谢您的时间。
答案 0 :(得分:2)
一个非常简单的解决方案是,如果文档处于读取模式,则显示带有消息的div。这是一个简单的例子:
<xp:div rendered="#{javascript:!document.isEditable()}">
The document is readonly.
</xp:div>
如果您使用OneUI,可以将其设置为proper OneUI info message: - )
<xp:div rendered="#{javascript:!document.isEditable()}" styleClass="lotusMessage lotusConfirm">
<xp:image id="Icon" url="/.ibmxspres/domino/oneuiv2/images/iconInfo16.png"></xp:image>
The document is readonly.
</xp:div>
答案 1 :(得分:0)
您可能不想尝试检查服务器端,因为您不想经历刷新周期,即使!currentDocument.isEditable()在那里可用....
首先,我建议不要使用showReadonlyAsDisabled,因为它会鼓励你试图避免混淆。
如果这不是一个选项,那么您可以通过检查HTML组件的值来开始搜索解决方案,而不是尝试确定基础文档是否可编辑。不幸的是,当控件只读显示为禁用时,禁用的值为 false 。您可以在客户端找到一种适合您的方法。我努力尝试onclick和onkeypress。
XSP.getElementById( “myInputText”)。停用
您可能只想拥有两个控件 - 一个用于编辑模式,另一个用于读取模式,onkeypress在编辑模式下返回
XSP.alert(“您无法编辑此字段”)
当然,既然您可以尝试输入已禁用的字段,即使它处于编辑模式,为什么不始终弹出该警报?