Issue
If you are working with xfa.event.newText and trying to limit the fields, as demonstrated in the following code, you will find that this will not work.
console.show(); console.println("new text is: " + xfa.event.newText); console.println("old text is: " + xfa.event.prevText); console.println("new text length: " + xfa.event.newText.toString().length); if (xfa.event.newText.toString().length > 9) { console.println( "new text is longer than 9"); this.rawValue = xfa.event.prevText; } console.println("");
You may try to change:
this.rawValue = xfa.event.prevText
to
xfa.event.newText = xfa.event.prevText
but this will still not work to limit the TextField to 9 characters.
Solution
Here is the working code, highlighting the code changes to make limiting the TextField to 9 characters work:
console.show(); console.println("new text is: " + xfa.event.newText); console.println("old text is: " + xfa.event.prevText); console.println("change is: " + xfa.event.change); console.println("new text length: " + xfa.event.newText.toString().length); if (xfa.event.newText.toString().length > 9) { console.println("new text is longer than 9"); xfa.event.change = ""; } console.println("");