ZoPaars, good morning. Thanks for your reply. Maybe there is still a mistake from my side. For all 4 price fields I set calculation script as follows: var PreisA1 = this.getField("PreisA1").value; var temp = this.getField("temp").value; event.value = PreisA1/temp; if (temp==0) event.value = "0"; var NamesArr = ["PreisA11", "PreisB11", "PreisC11", "PreisD11"]; for (var i = 0; i < NamesArr.length; i++) this.getField(NamesArr).setAction("OnBlur", "calcFields();"); For document javascript I set following script: function calcFields() { //make an array of the numbers and the field names that correspond with them var valArray = [[1],[2],[3],[4]]; var total = 0; var NamesArr = ["PreisA11","PreisB11","PreisC11","PreisD11"]; for (var i = 0; i < NamesArr.length; i++) { var Nm = NamesArr, fld = this.getField(Nm); fld.textColor = color.black; //reset all the field colours if (fld.value && !isNaN(fld.value)) { valArray[0].push(fld.value); total += fld.value; valArray[1].push(Nm); } } //get the max value and make it red var maxVal = Math.max.apply(null, valArray[0]); var maxIndex = valArray[0].indexOf(maxVal); var maxFld = this.getField(valArray[1][maxIndex]); if (maxFld) maxFld.textColor = color.red; this.getField("MAX1").value = maxVal; //get the min value and make it green var minVal = Math.min.apply(null, valArray[0]); var minIndex = valArray[0].indexOf(minVal); var minFld = this.getField(valArray[1][minIndex]); if (minFld) minFld.textColor = color.green; this.getField("MIN1").value = minVal; //get the average value var avgVal = total / valArray[0].length; this.getField("AV1").value = avgVal; };
... View more