我知道如何将计算字段绑定到文档字段。我知道如何使用javascript来计算计算字段。但是我该怎么做呢?
在计算字段中说我的javascript是:
@Name("[ABBREVIATE]" ,@UserName());
如何将其绑定到document1.ReqName字段?
答案 0 :(得分:2)
我使用两个字段:
答案 1 :(得分:1)
也许我会错过Point,但为什么不简单地执行以下操作?
<xp:inputText id="inputText1" value="#{document1.Reader}">
<xp:this.defaultValue>
<![CDATA[#{javascript:@Name("[ABBREVIATE]",@UserName());}]]>
</xp:this.defaultValue>
</xp:inputText>
这是每个EL绑定到DocumentField的Textfield。如果该字段为空,则按默认值计算。
大! - 我错过了这一点。但你可以尝试这个:
<xp:text escape="true" id="computedField3">
<xp:this.value>
<![CDATA[#{javascript:
if(@IsNewDoc()){
document1.replaceItemValue("Reader",@Name("[ABBREVIATE]",@UserName()));
}
return document1.getItemValue("Reader");}]]>
</xp:this.value>
</xp:text>
答案 2 :(得分:0)
对于计算字段的值,使用高级数据绑定并选择表达式语言(EL)。 要使用的表达式只是“document1.ReqName”(没有引号)。
答案 3 :(得分:0)
在这种情况下,我不会约束。我将绑定所有其他控件,在这种情况下,在保存操作之前,使用脚本直接将其添加到文档字段中。
所以类似:(原谅代码不在我的工作中)
<eventhandler>
<actionGroup>
<script><![CDATA[#{javascript:
doc.replaceItemValue("ReqName", @Name("[ABBREVIATE]" ,@UserName()));
}]]><script>
<saveDocument></saveDocument>
</actionGroup>
</eventhandler>
答案 4 :(得分:0)
<xp:text escape="true" id="computedFieldTest1">
[CDATA[#{javascript:
var userName = "Username: "+("Reader",@Name("[ABBREVIATE]",@UserName()));
currentDocument.replaceItemValue("computedFieldTest1",userName);
return userName;
}]]></xp:this.value>
</xp:text>