Q:我的表单上有两个字段,一个时用户选择框字段q,另一的是单行文本框b
单行文本框的值获得用户选择框的值脚本如下:
var user1 = getItemValue("q");
user1;
两个字段我用了刷新 重计算,可以实现选择好了q的值后b自动填入一个值,但是前台q中的值是 “小明”,b中的值却是 11e1-4c95-0e620bca-878f-73d1583b885a
A:您好,这是正常的,用户选择框返回的是ID,您再转换一下就好了,首先使用函数getUserById,取得用户对象,最后用用户对象,取得其名称即可。具体实现可参考以下脚本:(这是用户选择框选择一个用户时)
var userid = getItemValueAsString("q");
var name="";
if(userid!=null &&userid.trim().length()>0)
{
var userVO = getUserById(userid);
name = userVO.getName();
}
name;
用户选择框选择多个用户时,代码如下:
var datas=getItemValueAsString("用户选择框");
if(datas!=null){
var docids = splitText(datas,";");
var i = datas.length();
var k = i/36;//由于每个id的长度为36,故i%36用于获取选择了多少个用户
var name="";
for(var n = 0 ; n <=k;n++){
var userVO = getUserById(docids[n]);
if(userVO!=null)
name +=userVO.getName();
}
}
name; |