TextField 中的计算不起作用

TextField 中的计算不起作用

我希望我的表单中有一些 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}

相关内容