Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

Search only partial textField rawValue

Avatar

Level 9

My form has a textField that users enter part numbers separated by commas. I want to write an if statement that looks to see if one of the part numbers is included in the list. Is there a way to script to search for only part of a textField's rawValue or formattedValue?

So if the rawValue of textField1 is 1234, 4569, 3582

I want to be able to enter 4569 in textField2 (a different textField)  and click a button that runs a script to see if 4569 is included in the list of part numbers.

Is this possible?

Also: is it possible to send the comma separated part numbers to a list box?

I appreciate any help provided.

1 Accepted Solution

Avatar

Correct answer by
Level 10

Here you go:

var aWords = TextField1.rawValue.split(","),

  cTest = this.rawValue,

  isIncluded = function (value) {

    return value.replace(/\s/g, "") == this.testValue.replace(/\s/g, "");

  },

  toTest = {

    testValue : cTest

  },

  iCount = 0;

// Check all words against the entered value

if (aWords.some(isIncluded, toTest) === true) {

  iCount += 1;

}

// Show a message, if the word was found

if (iCount > 0) {

  xfa.host.messageBox("The word '" + cTest + "' is already included in the list.", "Match found.", 0, 0)

}

View solution in original post

6 Replies

Avatar

Correct answer by
Level 10

Here you go:

var aWords = TextField1.rawValue.split(","),

  cTest = this.rawValue,

  isIncluded = function (value) {

    return value.replace(/\s/g, "") == this.testValue.replace(/\s/g, "");

  },

  toTest = {

    testValue : cTest

  },

  iCount = 0;

// Check all words against the entered value

if (aWords.some(isIncluded, toTest) === true) {

  iCount += 1;

}

// Show a message, if the word was found

if (iCount > 0) {

  xfa.host.messageBox("The word '" + cTest + "' is already included in the list.", "Match found.", 0, 0)

}

Avatar

Level 9

This script works great! Thank you

Is there a way to highlight the part number in the list that was found?

Avatar

Level 7

I think highlighting the field would be really difficult to do. First the field would have to be set as rich text then you would need a method to change the fields color and background within that field. I guess you could grab the field data, and write it back out highlighting the string in question.

Avatar

Level 10

There is a nice sample from Bruce which shows how to update the contents of RichText fields.

Adobe LiveCycle Designer Cookbooks by BR001: Programmatically updating Rich Text (or xHTML)

Avatar

Level 9

The examples look very interesting. It will take some looking thru. Thank you for sending this information.

-Don