我有一个XPAGE有三个领域,所有的申报数量; 标称,价格和PaymentAmount。 我想计算使用额定*价格的PaymentAmount。
在SSJS的onChange我使用下面的代码:
var price = getComponent("Price").getValue();
从外地“价格”获得的价值。
在瑞典,我们进入我们的数值,因为这####,## 1.234,56
如果我输入标称= 10和价格= 2,5在我XPAGE的值,并尝试使用上述式存储在VAR“价格”的值被转换成25和长型的来计算。
请指教
/ M
我是白痴,不幸的是。
做过这个:
<inputText value="#{document1.Price}" id="Price" required="true" size="10">
<this.validators>
<validateRequired message="Price is required">
</validateRequired>
</this.validators>
<this.converter>
<convertNumber type="number" locale="sv">
</convertNumber>**
</this.converter>
</inputText>
和它的作品!
感谢大家对输入
我把它“价格”是一个编辑框? 如果是这样,你可以将其设置为数字字段,然后显示格式为货币。 货币代码将定义数字的显示方式。
当你的组件看重它应该回来作为一个正常的数字,你可以工作。
getComponent
获取UI组件值,这就是为什么它并不一定反映将要保存的数据类型(UI一切都是字符串)。 这也是一个缓慢的方式来获得的价值。
尝试datasourcename.getItemValueDouble("itemname")
来代替。 请注意,您需要使用上表中的字段名称,而不是组件名称。
关于数字格式请确保您的djConfig区域设置为瑞典,可能是se-se
。 对我来说,在芬兰,它看起来是这样的:
<script type="text/javascript" src="/xsp/.ibmxspres/dojoroot-1.6.1/dojo/dojo.js" djConfig="locale: 'fi-fi', parseOnLoad: true"></script>
应该使用浏览器的语言环境。 要强制这SSJS你可以这样做:
context.setLocaleString("se-SE");
在beforePageLoad事件。