Quantcast
Channel: Adobe Community : All Content - LiveCycle Designer
Viewing all articles
Browse latest Browse all 5571

loop not working for check of duplicate values in a repeating table

$
0
0

I have a form that is used for marking down problem items, describing the problems and assigning a value to the specified item. In some cases the problems belong to the same class. When they do, the value associated with the problem should only be marked once. If another problem in the same class is documented the value should not be recorded the second time. I have a variable that is called based on a switch statement in the exit event of the field that records the problem item number. The script in the variable is then supposed to check for duplicate values in the table. If no other problem item in that class is selected, then the problem value should be assigned a number. If another item from the same class has already been entered, then the problem value should just be left blank. I will paste the script for the variable below as well as the switch statement. When I used to call the variable based upon the change event for the problem item, the script work. At that time, the switch statement was related to a drop-down menu. We decided to get rid of the drop-down and just have the used type the item number. But to do so, I had to move the switch statement to the exit event for the field. when I did this, the script in the variable no longer worked properly. Here is the switch statment followed by the script in the variable:

 

this.rawValue = this.rawValue.toLowerCase();
var bEnableTextField = true;
var i = "Inspection Criteria: ";
var r = "Required Corrections: ";
switch (this.rawValue)
{
  case "1a": // 1a- First debit option
    CorrectionsText.CorrectionLang = r+"Correction description for 1st debit";
    ViolCorrSection.ViolationsText.DebitVal = "C";
    ViolCorrSection.Reference.RefLanguage = i+"1st debit reference";
break;

  case "1b": // 1b- Second debit option
    CorrectionsText.CorrectionLang = r+"Correction description for 2nd debit";
    ViolCorrSection.Reference.RefLanguage = i+"2nd debit reference";
    myScript.group1();
break; //the script continues for various item numbers...

 

________________ variable script ________________________

 

function group1()
{
//Used in checking duplication of violations
var oFields = xfa.resolveNodes("form1.MAINBODYSUB.ViolationsTableSubform.Violations Table.ViolCorrSection[*].ViolationsText.ItemNo"); // looks to resolve the repeating rows
var nNodesLength = oFields.length; //assigns the number of rows to a variable
var currentRow = xfa.resolveNode("form1.MAINBODYSUB.ViolationsTableSubform.ViolationsT able.ViolCorrSection").index;
var currentDebit = xfa.resolveNode("form1.MAINBODYSUB.ViolationsTableSubform.ViolationsT able.ViolCorrSection[" + currentRow + "].ViolationsText.DebitVal");

for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) // this loops through Item Numbers looking for duplicate violations
{
//console.println("nNodeCount: " + nNodeCount);
var nFld = xfa.resolveNode("form1.MAINBODYSUB.ViolationsTableSubform.ViolationsT able.ViolCorrSection[" + nNodeCount + "]");
//console.println("nFld.ViolationsText.ItemNo: " + nFld.ViolationsText.ItemNo.rawValue);
     if (nFld.ViolationsText.ItemNo.rawValue == "1a" || nFld.ViolationsText.ItemNo.rawValue == "1b" || nFld.ViolationsText.ItemNo.rawValue == "1c" || nFld.ViolationsText.ItemNo.rawValue == "1d") // looks for other 1s
     {
          currentDebit.rawValue = "";
          nNodeCount = nNodesLength;  // stop loop
     }
     else
     {
        currentDebit.rawValue = "5";
     }
}

}

 

So, if you enter 1b the first time, you should get a value of 5 appearing in the debit value field. If you enter 1c next, because it belongs to the same group of class of problem items, there should be no value assigned. What happens now is that the values for 1b and 1c don't appear at all because the form thinks that the first 1b entry already existed.

 

Any ideas? I have a stripped down version of the form that I can email to someone for reference if that would help. Thanks

P.S. I am working with LiveCycle Designer ES 8.2.1....


Viewing all articles
Browse latest Browse all 5571

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>