我们在我们的项目中一直使用Primefaces(v 3.5)和Primefaces Extensions(v 0.7.0),这对开发者和社区来说非常棒,欢呼!
在处理十进制字段时,inputNumber组件可以满足我们的所有需求。
用户将值粘贴到字段isn't working
时using the mouse right button then paste option
的一件事。
当发生这种情况时,似乎没有处理这些值,因为当我提交表单时,无论它是有效还是无效的值,都会被清除。
用户甚至可以将文本粘贴到pe:inputNumber中。控制c +控制v按预期工作,完全没问题。
我们使用的代码是这样的:
<pe:inputNumber id="AmtInTxt" value="#{myController.amtField}" symbol="$ "/>
我们如何进行上下文菜单粘贴的任何想法都像控制c + control v?
一样答案 0 :(得分:1)
这有没有解决?对于未来的观众 - 这看起来像是在使用鼠标时没有将数据发布到bean的问题。尝试在输入字段中放置一个ajax事件处理程序。
<pe:inputNumber ...>
<p:ajax event="blur"/>
</pe:inputNumber>
答案 1 :(得分:0)
我遇到了同样的问题。起初我认为只有在使用浏览器的自动完成功能时才会发生这种情况。从这篇文章中我了解到,它与通过鼠标改变价值严格相关。我正在使用<p:ajax event="blur" process="@this" />
并且它不会改变任何内容。更具体地说,该值在InputNumberRenderer.getConvertedValue
方法中为空,从那时起它将null值传递给setter / listener。
编辑:还尝试在ajax中放置onstart =“$(event.target).keypress()”来模拟用户的按键。可悲的是不行。