Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Search only partial textField rawValue

DKinsley
Level 9
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
radzmar
Correct answer by
Level 10
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
radzmar
Correct answer by
Level 10
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

DKinsley
Level 9
Level 9

This script works great! Thank you

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

mouslander
Level 7
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.

DKinsley
Level 9
Level 9

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

-Don