我尝试使用以下内容创建表单:
这是表单中唯一的计算,因此不使用更改计算顺序。在javascript文档中,我有
this.calculateNow();
并在该字段的自定义计算脚本中,我有
(function () {
var v1 = +getField("Text1").value;
var v2 = +getField("Text2").value;
var v3 = +getField("Text3").value;
var v4 = +getField("Text4").value;
var v5 = +getField("Text5").value;
var v6 = +getField("Text6").value;
var v7 = +getField("Text7").value;
var v8 = +getField("Text8").value;
var v9 = +getField("Text9").value;
var v10 = +getField("Text10").value;
event.value = (v2 * v4 * v6 * v8 * v10) !== 0 ? ((v1 * v3 * v5 * v7 * v9) / (v2 * v4 * v6 * v8 * v10)) : "";
})();
我遇到的问题:
答案 0 :(得分:1)
您的代码有点重复。您可以使用包含字段ID的数组:
const fields = Array.from({length:10}, (_,i)=>"Text"+(i+1));
然后我们可以将字段映射到它们的值,并使用or运算符填充未设置的字段:
const values = fields.map( f => +getField(f).value || 1 );
然后该数组可以减少到某个值,例如与mutliplication:
const result = values.reduce((a,b) => a*b)