EditBox fieldInput.getValue()和空格

时间:2017-08-24 15:00:30

标签: xpages xpages-ssjs

这是问题所在。我有一个editBox,我试图通过名为Add的按钮的onClick事件从服务器端JavaScript检索值。它一直有效,直到空间在值中,然后它什么都不检索。 onClick事件的代码如下:

println("Button Clicked");
try{
var forkNumberInput:com.ibm.xsp.component.xp.XspInputText = 
getComponent("forkNumberInput");
var forkNum = forkNumberInput.getValue();
viewScope.ForkNum = forkNum;
println(forkNum);
} catch(e){
println( Error in Add button: " + e.toString());
}

当文本中有空格时,viewScope不会被填充,也没有任何内容写入服务器日志,甚至没有“按钮单击”。没有错误写入服务器日志。

3 个答案:

答案 0 :(得分:4)

如果"按钮单击"没有打印,最可能的原因是有验证错误。添加“显示错误”控件以确保不是这种情况。

答案 1 :(得分:2)

我第二个保罗建议添加错误控件。除此之外:当你想要做的就是抓住价值时,尽量避免使用0 1 2 3 4 5 | 6 7 8 9 10 11 0 1 2 3 4 5 | 5 0 1 2 3 4 0 1 2 | 3 4 5 0 1 2 | 2 0 1 0 1 2 。 JSF的概念,扩展到XPages,是数据绑定"。控件绑定到某些数据源以获取其值,并与之进行交互。当你需要操纵其他任何东西时,getComponent()意味着被使用。

所以你会去绑定范围变量getComponent()的控件并完成。然后,您的按钮会从那里获取值并完成它需要做的事情。

总结:控件想要绑定。数据存在于模型中(而不是控件)

答案 2 :(得分:0)

谢谢保罗 - 你带领我走向正确的方向。事实证明,Properties>下有一个validateConstraint。数据>验证。我删除了validateConstraint,它开始工作了。这就是将设计元素从一个自定义控件复制到另一个自定义控件时会发生什么。