getComponent("fieldName").setValue()Not Working

 男孩介于边缘 发布于 2023-01-30 10:39

场景:我对XPage应用程序有一个要求,例如,复选框组字段有3个选项.并且有3个不同的表包含每个表的超过10个字段(与数据源绑定).无论从复选框中选择哪个选项,都应显示相应的表格(复选框组没有默认值,所有3个表格都隐藏为= nitially).因为它是一个复选框,所以可以检查所有选项,如果未选中任何选项,则应隐藏相应的表,并清除表中这些字段中输入的值.这是要求,它非常简单,只需要很少的时间来完成它.但问题出在这里.

问题:在复选框的onClick()事件中,我编写了SSJS代码,以清除该选项未选中的特定表中字段集的值.但它没有发生.

var ckbxValue = getComponent("checkBox").getValue();
if(!@Contains(ckbxValue,"1stOption"))
{
    array_1 = new Array("txtFld_1","txtFld_2","txtFld_3","txtFld_4","txtFld_5","txtFld_etc");
    for(d=0;d

当我取消选中第一个选项时,第一个表将隐藏,这将执行并清除字段值.但价值观没有被清除.但是相同的代码适用于计算文本(没有绑定),并且当表可见时也适用于那些字段.我不明白为什么没有发生这种情况.

我做了另一个解决方法,并满足了暂时的要求.我想知道那段时间发生了什么.

我发现的是,最初有一个隐藏的绑定字段,我通过单击按钮将值设置为"AAA".现在我显示按钮是一些具有完全更新的条件,该字段将显示值"AAA".现在该字段可见,我通过单击另一个按钮将值设置为"BBB".现在它将显示值为"BBB".我现在隐藏它并将值设置为"CCC"并再次使该字段可见.现在我需要看到值"CCC",但我看到"BBB".它是如何发生的?

任何人都可以让我理解为什么会这样发生吗?

提前致谢.

1 个回答
  • 不要追求组件.最好的方法是将组件绑定到范围变量并读取该变量.特别是复选框可以为您节省很多麻烦.

    将UI元素视为可视化,而不是数据.业务逻辑总是对数据起作用,而不是对其可视化表示.

    试一试.

    2023-01-30 10:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有