Dojo货币文本框 - 如何使用ssjs获取价值

时间:2014-08-14 09:23:55

标签: xpages

我正在使用Dojo货币文本框,并且想要检查ssjs,如果该框是空的。

目前我正在使用它:

if (wfDoc.getItemValueString("InvestmentAmount") == "")

但是这段代码总是告诉我,即使我输入了一个值,该框也是空的。那么如何用ssjs检查字段是否为空?

2 个答案:

答案 0 :(得分:2)

Dojo Currency Text Box将值存储为数字,Dojo Number Text Box也是如此。 Dojo扩展库控件基于相应的客户端Dojo dijits。因为它们都只是扩展Dojo Validation Text Box的HTML小部件,所以它们在控件名称中有“Text”。记住Dojo是一个基于Web的客户端Javascript框架,所以它只能处理文本值。但是因为它们被集成到具有服务器端功能的XPage中,Dojo货币文本框和Dojo数字文本框将值转换为正确的后端数据类型,所以是一个数字。

在数字字段上执行getItemValueString()会返回一个空字符串。因此Per对于使用getValue()是正确的。

答案 1 :(得分:0)

我做了一个简短的测试,这应该工作。                   

<xe:djCurrencyTextBox
    id="djCurrencyTextBox1"
    value="#{document1.test}">
</xe:djCurrencyTextBox>

<xp:button
    value="test"
    id="button1">
    <xp:eventHandler
        event="onclick"
        submit="true"
        refreshMode="complete">
        <xp:this.action><![CDATA[#{javascript:view.postScript("window.alert('Test"+java.lang.String.valueOf(document1.getValue('test')==null)+"');");}]]></xp:this.action>
    </xp:eventHandler>
</xp:button>