我希望我的表单中有一些 TextField,可以输入数字(股票),最后一个 TextField 应该是 100 - 即所有其他 TextField 的总和。我发现这但它没有帮助,什么都没有发生。我不知道问题出在哪里。
我的代码如下:
\documentclass[a4paper,10pt, hidelinks]{article}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[margin=1.5cm]{geometry}
\usepackage{tabularx}
\usepackage{makecell,
tabularx}
\setcellgapes{3pt}
\usepackage{enumitem}
\usepackage{hyperref}
\begin{document}
\begin{Form}
\subsection{Welchen Anteil in \% (geschätzt) haben folgende Bereiche:}
\begin{itemize}[itemsep=4pt]
\item \TextField[name = anteilquali]{Qualitätsmanagement:}\\
\item \TextField[name = anteildaten]{Datenschutz:}\\
\item \TextField[name = anteilorga]{Organisation:}\\
\item \TextField[name = anteilfinanzen]{Finanzen:}\\
\item \TextField[name = anteiloeffentlich]{Öffentlichkeitsarbeit:}\\
\item \TextField[name = anteilsonstige, readonly = true, calculate={%
event.value = 100 -
(this.getField("anteilquali").value +
this.getField("anteildaten").value +
this.getField("anteilorga").value +
this.getField("anteilfinanzen").value +
this.getField("anteiloeffentlich").value);
}]{Sonstiges:}
\end{itemize}
\end{Form}
\end{document}
答案1
\usepackage[ngerman]{babel}
将双引号变成活动字符,从而破坏 PDF 输出中嵌入的 JavaScript 代码。如果将它们替换为单引号,则'
代码保持不变。此外,为文本字段提供初始值可能会很有用:
\documentclass[a4paper,10pt, hidelinks]{article}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[margin=1.5cm]{geometry}
\usepackage{tabularx}
\usepackage{makecell,
tabularx}
\setcellgapes{3pt}
\usepackage{enumitem}
\usepackage{hyperref}
\begin{document}
\begin{Form}
\subsection{Welchen Anteil in \% (geschätzt) haben folgende Bereiche:}
\begin{itemize}[itemsep=4pt]
\item \TextField[name = anteilquali,value=0]{Qualitätsmanagement:}\\
\item \TextField[name = anteildaten,value=0]{Datenschutz:}\\
\item \TextField[name = anteilorga,value=0]{Organisation:}\\
\item \TextField[name = anteilfinanzen,value=0]{Finanzen:}\\
\item \TextField[name = anteiloeffentlich,value=0]{Öffentlichkeitsarbeit:}\\
\item \TextField[name = anteilsonstige,value=100,readonly = true,calculate={%
event.value=100 - (
this.getField('anteilquali').value +
this.getField('anteildaten').value +
this.getField('anteilorga').value +
this.getField('anteilfinanzen').value +
this.getField('anteiloeffentlich').value);
}]{Sonstiges:}
\end{itemize}
\end{Form}
\end{document}