0

我有一个表单,它有几个名为“transType”的组,这些组中有一个文本字段和一组 3 个单选按钮。每个单选按钮组都有 Yes、No 和 Resolved 的值。我在顶部有一个单选按钮组,当单击时,页面上的相应按钮也被选中,例如我单击顶部组上的“否”,并且下面的所有“否”字段都被选中。我正在使用动作生成器来实现这一点,但这似乎很乏味,我必须为每个值都这样做。以下是现在的脚本:


form1.#subform[0].transType[0].markAll::change - (JavaScript, client)
 if (this.rawValue == "1") {
   this.resolveNode("transType[1].exeError").rawValue = "No";
   this.resolveNode("transType[2].newEnrol").rawValue = "No";
   this.resolveNode("transType[3].enrolReq").rawValue = "No";
   this.resolveNode("transType[4].immPinChange").rawValue = "No";
   this.resolveNode("transType[5].pinChange").rawValue = "No";
   this.resolveNode("transType[6].loanProc").rawValue = "No";
   this.resolveNode("transType[7].contribChange").rawValue = "No";
   this.resolveNode("transType[8].allocChange").rawValue = "No";
   this.resolveNode("transType[9].allocChange403b").rawValue = "No";
   this.resolveNode("transType[10].transfTrans").rawValue = "No";
   this.resolveNode("transType[11].confEndBal").rawValue = "No";
   this.resolveNode("transType[12].confTarAlloc").rawValue = "No";
   this.resolveNode("transType[13].loanReq").rawValue = "No";
   this.resolveNode("transType[14].withdrawReq").rawValue = "No";
 }

我在Adobe论坛发了LiveCycle,但是Adobe论坛基本没用。有没有更简单的脚本可以写?也许是一个数组?我在 JavaScript 方面有点不熟练,但我可以一瘸一拐地走来走去。蒂亚!!!

4

2 回答 2

0

如果您使用数据绑定,您可以将所有 yes/no/not 解析到相同的接口字段,以便它们都具有相同的值。这意味着如果您在顶部选择一个值,其余的将继承相同的值。

在过去几年使用 Livecycle 后,有更快的方法可以做到这一点,例如添加一个将每个字段设置为一个值的函数,但 Livecycle 有时可能有点不稳定,所以通常最好按照上面的方式进行. 您可以使用 case 语句而不是 if/elseif,那么这只是复制相同文本并更改值的情况。如果您想发送表格的副本,我将保留各种选项,例如功能或案例,您可以看到它的外观/工作方式。

于 2013-08-05T20:45:48.403 回答
0

从纯 javascript 的角度来看,您可以通过以下方式减轻您的代码:

var fields = ["transType[1].exeError", 
                "transType[2].newEnrol",
                "transType[3].enrolReq",
                ...
                "transType[14].withdrawReq"];
var i, j, newValue;

switch(this.rawValue) {
    case "1" : newValue = "No"; break;
    ...
}

for(i=0, j=fields.length; i<j; i++) {
    this.resolveNode(fields[i]).rawValue = newValue;
}
于 2013-10-29T09:28:57.933 回答