Ist es möglich, die Eingabe im „Textfeld“ auf nur Zahlen zu beschränken?

Ist es möglich, die Eingabe im „Textfeld“ auf nur Zahlen zu beschränken?

Ich hätte gerne eins, TextFielddas enthältnur Zahlenum ein Datum wie zu erstellen [TextField]/[TextField]/[TextField]. Ich muss auch die Länge einschränken, aberes wurde schon gefragt.

Vergleichen zweier unterschiedlicher Ausgaben

MWE:

\documentclass{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{hyperref}

\begin{document}

\begin{Form}
    \TextField[width=1em,charsize=7pt,maxlen=2]{Text}
\end{Form}

\end{document}

Ich verwende Acrobat Reader DC und es wäre wünschenswert, dass die Antwort auf diese Frage (die wahrscheinlich nicht beantwortet wird) die folgenden Anforderungen erfüllt:

  1. Es sollte bei den meisten möglichen Zuschauern funktionieren.
  2. Wenn die Eingabe Text oder mit Text vermischte Zahlen oder andere Zeichen enthält, die keine Zahlen sind, sollte der Code die Eingabe ablehnen. Das heißt, wir sollten in unserem Viewer nicht sehen können, wie ein „a“ oder „b1“ oder „bb“ geschrieben wird, sondern „11“, „99“, „01“ usw.

Danke!!

Antwort1

Eine einfache Version, die NaN(keine Zahl) ausgibt, wenn es keine Zahl ist. Sie können einfach etwas mehr JavaScript einfügen, um zu prüfen, ob es eine Zahl ist, NaNund dann das Feld leeren, wenn Sie das möchten.

Bitte beachten: JavaScript ist immer etwas Viewer-abhängig. Ich habe es nur mit Okular getestet.

\documentclass{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{hyperref}

\begin{document}

\begin{Form}
    \TextField[width=1em,charsize=7pt,maxlen=2,name=text,calculate={this.getField('text').value=Number(this.getField('text').value)}]{Text}
\end{Form}

\end{document}

verwandte Informationen