Xpages djCurrencyTextBox with fractional=false
Posted
技术标签:
【中文标题】Xpages djCurrencyTextBox with fractional=false【英文标题】: 【发布时间】:2014-02-21 10:37:43 【问题描述】:由于干净的 8.5.3 Domino 存在以空格作为千位分隔符的本地化数字的问题,我决定切换到 djCurrencyTextBox。但由于不想显示小数部分,我也在为此苦苦挣扎。即使在 9.0.1 测试服务器上。
如果我使用以下方法创建简单字段:
<xe:djCurrencyTextBox id="djCurrencyTextBox1" value="#document1.currency">
<xe:this.constraints>
<xe:djNumberConstraints fractional="false">
</xe:djNumberConstraints>
</xe:this.constraints>
</xe:djCurrencyTextBox>
它无法识别输入的任何数字。 (即使我只输入 1,我也会收到该值无效的消息)
直接添加为dojo属性时,按预期工作
<xe:djCurrencyTextBox id = "djCurrencyTextBox1"
value ="#document1.currency" >
<xe:this.dojoAttributes>
<xp:dojoAttribute name ="data-dojo-props"
value ="constraints:fractional:false" >
</xp:dojoAttribute>
</xe:this.dojoAttributes>
</xe:djCurrencyTextBox >
有什么想法会导致这个问题吗?
【问题讨论】:
我不太确定你真正想要实现什么,但只是实现你的两个代码示例我得到了与 9.0.1 服务器完全相同的结果:输入只允许我输入使用基于语言环境的标准模式的数字,例如 #.###,00 (在我的例子中是德语语言环境)。其他一切都在向我显示道场的黄色警告标志 我只需要一个没有小数部分的数字,因为我们在捷克代表中几乎不再使用它了。但正如布赖恩在下面指出的那样,它是已知的错误,我们必须忍受一段时间。 【参考方案1】:这是 9.0.1 中未修复的已知问题
使用上面的第一个示例,无论您在小数约束上设置什么值(启用/禁用/自动/真/假),文本框只接受包含小数部分的值(例如 567.89),这是不正确的用于禁用和错误值。第二个示例按预期工作,将小数设置为 true 或 false。
这是因为,查看页面源代码,第一个示例的 html 输出为:
<input dojoType="dijit.form.CurrencyTextBox" constraints=""fractional":"false"" id="view:_id1:djCurrencyTextBox1" name="view:_id1:djCurrencyTextBox1">
“&quot;
”部分不应包含在约束中。
而在第二个例子中,没有这样的问题:
<input dojoType="dijit.form.CurrencyTextBox" data-dojo-props="constraints:fractional:false" id="view:_id1:djCurrencyTextBox2" name="view:_id1:djCurrencyTextBox2">
由于这个问题在 9.0.1 中还没有得到修复,所以你所能做的就是利用你暂时发布的解决方法。
更新:这个问题的修复在Release 9 of the v901 XPages Extension Library on OpenNTF
【讨论】:
谢谢,请注意那些“源代码中的符号并想知道我做错了什么。在 IBM 修复它之前,我可以接受这个变通方法。 为您更新。自从您将其作为 SPR#JSHN93UT38 提出以来,该问题已被跟踪。它的修复可能会进入下一个 OpenNTF 扩展库版本,版本 901v00_09,它还没有发布日期。 更新了我上面的答案,因为这已在 XPages 扩展库的第 9 版中得到修复以上是关于Xpages djCurrencyTextBox with fractional=false的主要内容,如果未能解决你的问题,请参考以下文章