填报报表获取控件值错乱问题

正常输入:

image.png

获取控件值的结果是无序的:

image.png

JS:

var val = contentPane.getWidgetsByName("level");

var vals = contentPane.getWidgetsByName("quantity");

//window.parent._g().parameterEl.getWidgetByName("length").setValue(val.length);

for (var i = 0; i < val.length; i++) {

console.log("等级:"+val[i].getValue()+"……数量:"+vals[i].getValue());

}

JS获取的结果:

image.png

FineReport 路友柒 发布于 2024-6-15 14:34 (编辑于 2024-6-15 14:56)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
路友柒Lv4见习互助
发布于2024-6-17 12:00

获取控件的列号,对行号进行循环,设置父页面单元格的值

最佳回答
1
CD20160914Lv8专家互助
发布于2024-6-15 14:44

去数据库看是否正常的?你要看数据库入库的结果。还有你填报属性的设置看一下

  • 路友柒 路友柒(提问者) 没填入数据库,是子页面传值到父页面,在子页面使用JS 获取控件值,获取到值就是错乱的
    2024-06-15 14:47 
  • CD20160914 CD20160914 回复 路友柒(提问者) 不知道你的语句是如何写的。。
    2024-06-15 14:52 
  • 路友柒 路友柒(提问者) 回复 CD20160914 var val = contentPane.getWidgetsByName("level"); var vals = contentPane.getWidgetsByName("quantity"); //window.parent._g().parameterEl.getWidgetByName("length").setValue(val.length); for (var i = 0; i < val.length; i++) { console.log("等级:"+val[i].getValue()+"……数量:"+vals[i].getValue()); }
    2024-06-15 14:56 
  • CD20160914 CD20160914 回复 路友柒(提问者) 先循环保存到数组中,先不用你前面两句的方式,保存到数组后,再循环就可以了。
    2024-06-15 15:03 
最佳回答
1
ID1208Lv6高级互助
发布于2024-6-15 14:55

子页面多行回写应该比较复杂,第二列取值的时候,需要对应第一列的值

可以子页面上保存,然后父页刷新显示,这样感觉可能简单一点

JS实现子窗口填报后刷新父页面--https://help.fanruan.com/finereport/doc-view-1844.html

最佳回答
1
CovidLv3高级互助
发布于2024-6-15 15:07
  • 2关注人数
  • 215浏览人数
  • 最后回答于:2024-6-17 12:00
    请选择关闭问题的原因
    确定 取消
    返回顶部