0
我的表单中有一个数字输入字段。我只是添加一些格式上它与XXF:格式:在我的Xforms表单中使用xxf:format属性的奇怪行为(使用Orbeon Form Runner)
<xf:input
id="input-control"
bind="input-bind"
class="question nombre"
xxf:format="if (. castable as xs:integer)
then replace(format-number(xs:integer(.),'###,###,###,###,###,###,###,###,###,##0'),',',' ')
else ''">
这可能看起来有点疯狂,但它只是其中编号123456将作为123 456这对我的作品很大,但不是为用户提供格式... 所以现在,我增加了一个脚本来取消格式化,当输入集中(又名:编辑场时回到123456)用一个简单的JS:
<xf:action ev:event="DOMFocusIn">
<xxf:script>
var input = this.getElementsByTagName('input')[0];
var valeur = input.value.replace(' ','');
input.value = valeur;
</xxf:script>
</xf:action>
行为看起来不错乍一看,我意思是说,我进入了123456,重点出来并得到了123 456(格式正常),重点并获得了123456(脚本行为正常)。但是如果我不在场上做任何改变并集中注意力,我没有格式化(仍然是123456而不是123456)。 据我所知,格式只适用于“需要”和“需要”在这里意味着,当输入的值改变。但是如果我强制执行xforms-value-change事件,我仍然没有格式化。
任何人都有如何实现这个想法?
(任何人都已经明白什么?-s)
没错。 “它发挥”,因为我们在这里说过;-) 我不知道我是如何错过了,是一个明显的解决方案...谢谢! – 2014-09-23 08:54:46
很高兴工作:) – ebruchez 2014-09-23 23:29:34