Problem
Wenn Sie mit xfa.event.newText arbeiten und versuchen, die Felder zu begrenzen, wie im folgenden Code gezeigt, wird dies nicht funktionieren.
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("");
Sie können versuchen, folgendes zu ändern:
this.rawValue = xfa.event.prevText
auf
xfa.event.newText = xfa.event.prevText
aber dies wird weiterhin nicht funktionieren, um die TextField-Instanz auf 9 Zeichen zu beschränken.
Lösung
Hier der ist der funktionsfähige Code mit hervorgehobenen Codeänderungen, um die Begrenzung des TextField-Objekts auf 9 Zeichen zu ermöglichen:
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("");