Xpages EditBox fieldInput.getValue()和空格

Xpages EditBox fieldInput.getValue()和空格,xpages,xpages-ssjs,Xpages,Xpages Ssjs,问题就在这里。我有一个editBox,我试图通过名为Add的按钮的onClick事件从服务器端JavaScript检索值。它一直工作到值中有空格,然后它什么也不检索。onClick事件的代码如下所示: println("Button Clicked"); try{ var forkNumberInput:com.ibm.xsp.component.xp.XspInputText = getComponent("forkNumberInput"); var forkNum = forkNumbe

问题就在这里。我有一个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,并且不会将任何内容写入服务器日志,甚至不会“单击”按钮。没有错误写入服务器日志。

如果未打印“单击的按钮”,最可能的原因是存在验证错误。添加“显示错误”控件以确保情况并非如此。

如果未打印“单击的按钮”,最可能的原因是存在验证错误。添加一个显示错误控件以确保情况并非如此。

谢谢Paul-你指引了我正确的方向。事实证明,在Properties>data>validators下有一个validateConstraint。我移除了validateConstraint,它开始工作。当您将设计元素从一个自定义控件复制到另一个自定义控件时,就会发生这种情况。

谢谢Paul-您将我引向了正确的方向。事实证明,在Properties>data>validators下有一个validateConstraint。我移除了validateConstraint,它开始工作。这就是将设计元素从一个自定义控件复制到另一个自定义控件时发生的情况。

我赞同Paul关于添加错误控件的建议。除此之外:当您只想获取值时,尽量避免使用
getComponent()
。扩展到XPages的JSF的思想是“数据绑定”。控件因其值而绑定到某些数据源,您可以与这些控件进行交互
getComponent()
用于处理其他任何操作

因此,您可以将您的控件绑定到范围变量
viewScope.forkNum
,这样就完成了。然后,您的按钮从那里获取值并执行它需要执行的操作


总之:控件需要绑定。数据存在于模型中(而非控件)

我支持Paul关于添加错误控件的建议。除此之外:当您只想获取值时,尽量避免使用
getComponent()
。扩展到XPages的JSF的思想是“数据绑定”。控件因其值而绑定到某些数据源,您可以与这些控件进行交互
getComponent()
用于处理其他任何操作

因此,您可以将您的控件绑定到范围变量
viewScope.forkNum
,这样就完成了。然后,您的按钮从那里获取值并执行它需要执行的操作


总之:控件需要绑定。数据存在于模型中(而非控件)

欢迎使用堆栈溢出。请接受Pauls的答案,并在此处添加您自己的答案作为对Pauls答案的评论(然后删除您自己的答案)。欢迎使用Stack Overflow。请接受Pauls的答案,并在此处添加您自己的答案作为对Pauls答案的评论(然后删除您自己的答案)