我有疑问: 我的xpages包含一个包含文档创建者的字段。 问题是: 当ReadOnly字段为Enabled时,代理程序无法从上下文获取该字段的值。xpages阅读器字段 - 只读类型
我想用户不能更改字段的值 如何解决?
注:有一个按钮,将调用代理来处理上下文
谢谢您的帮助
我有疑问: 我的xpages包含一个包含文档创建者的字段。 问题是: 当ReadOnly字段为Enabled时,代理程序无法从上下文获取该字段的值。xpages阅读器字段 - 只读类型
我想用户不能更改字段的值 如何解决?
注:有一个按钮,将调用代理来处理上下文
谢谢您的帮助
为什么不使用的inputText的disable
财产?并与CSS的一点点帮助的结果可能只是罚款:
<xp:inputText id="inputText1"
style="background-color:none;border:none;background: transparent"
disabled="true">
....
</xp:inputText>
或者,你可以计算出禁用属性:
<xp:this.disabled><![CDATA[#{javascript:if (currentDocument.isEditable())
return true;}]]></xp:this.disabled>
提示:我建议创建一个.css文件和所有写有属性。然后只需将该文件导入到相应的xpage /自定义控件中,并指定该字段的Style
属性中的类。
我尝试过Disabled = True,但该值无法从上下文获得。 – user3659403 2014-11-24 08:31:54
嗯,我编辑了我的答案。我希望它能帮助你。 – 2014-11-24 08:33:39
你的意思是这样的吗?
<xp:inputText id="inputText1" defaultValue="test">
<xp:this.attrs>
<xp:attr name="readonly" value="true"></xp:attr>
</xp:this.attrs>
</xp:inputText>
首先:它不是很清楚你想要做什么。您与文档的创建者有一个领域,并且您会谈论代理。几个指针:
显示一个用户名不会写回任何地方,你需要采取不同的行动。添加到“后新文件”事件是这样的:
var creator = document1.replaceItemValue("Creator",@UserName);
creator.setAuthors(true);
(以上是我的头,可能包含错别字)。然后,该值在文档中,您可以在计算字段中使用它,并将其交给代理(我不会这样做,将您的代理代码转换为Java并在清理过程中清理它)。
我认为这可能是由于XPage呈现readOnly字段为''标记中的文本。您可以尝试的一些选项是:(1)[使用JavaScript制作readOnly字段](http://naveegator.blogspot.com/2011/12/read-only-edit-box-in-xpage.html)(2)[使用'attr'属性设置只读字段](http://stackoverflow.com/q/14637693/1047998)(3)[在Xpages中使用show read only only disabled属性](http://naveegator.blogspot.com /2012/01/new-property-in-xpages-show-read-only.html)(4)使用XPages中的控制 –
Naveen
2014-11-24 08:35:37
您需要提供代码。 XPage中没有代理,代理中没有上下文 – stwissel 2014-11-24 14:48:10