LCD Freitextfeld Länge begrenzen auf Wörter

Grundsätzliche Themen zur Bedienung, Erstellung von Formularen, Datenbankanbindung und Beispiele ...
Antworten
speedysheep
Beiträge: 1
Registriert: 07.10.2015, 14:04

LCD Freitextfeld Länge begrenzen auf Wörter

Beitrag von speedysheep » 20.02.2023, 11:54

Hallo zusammen!

im LCD Textfeld kann man die Länge ja auf Zeichen begrenzen lassen.
Scheint mir aber keine Option für eine Begrenzung auf Wörter zu geben, oder? Lässt sich das vielleicht anders lösen? Per Script?

Viiielen lieben Dank im Voraus und viele Grüße aus Bremen :)

Benutzeravatar
radzmar
Beiträge: 961
Registriert: 26.10.2011, 10:18

Re: LCD Freitextfeld Länge begrenzen auf Wörter

Beitrag von radzmar » 24.04.2023, 21:02

Ja, das ist mit einem regulären Ausdruck kein Problem. Man braucht nur ein kleine Skript im change-Event des Textfeldes.

Code: Alles auswählen

 Formular1.#subform[0].Textfeld1::change - (JavaScript, client)
var cText = xfa.event.fullText, //Gesamter Text des Feldes
	nMaxWords = 3, //Maximale Wortzahl
	nWordCount = 0; //Gezählte Wörter
// Wenn Fald Text enthält …
if (cText.length > 0) {
	// … die Wortzahl ermitteln
	nWordCount = cText.match(/\b\S+\b/g).length;
}
// Wenn Wortzahl ermittelt wurde …
if (nWordCount !== null) {
	// … diese mit Maximalzahl vergleichen.
	if (nWordCount > nMaxWords) {
		// Weitere Eingabe verwerfen, wenn maximale Wortzahl erreicht ist.
		xfa.event.change = "";
	}
}

Antworten