我使用hyperref
LaTeX 软件包制作可填写的 PDF 文件,以便评估学生的作品。它是一串框列表,其中给出了注释,其中:(
\TexField[name=note1,value=0,width=33pt,height=12p]{}
在Form
环境中)
现在,我想添加最后一个框,其中前面的值将自动求和,就像在 LibreOffice 或 Excel 电子表格中一样。这似乎可以通过 JavaScript 命令实现,如上所述这个(法语)博客。我不熟悉 JavaScript 语言,但我尝试了这个:
\PushButton[name=go,calculate={var a=this.getField("note1"); var b=this.getField("note2"); var c=this.getField("note3") etc...;
var Total=this.getField("Total"); Total.value=(a.value+b.value+c.value...)}]{Get sum}
\TextField[name=Total,width=33pt,height=12pt,value=''Total''.value,readonly=true]{}
但最后一个框中始终没有出现总数。看来指令getField
不起作用,或者我没有正确的方法来显示结果。
有人可以指出哪里出了问题,或者给我另一个技巧来获得预期的结果?
以下是我在博客上引用的示例:
\documentclass[11pt]{exam}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[full]{textcomp}
\usepackage[a4paper,top=2cm,bottom=1.75cm]{geometry}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{hyperref}
\begin{document}
\begin{Form}
\TextField[name=nb1,value=0]{Valeur numero 1}\\
\TextField[name=nb2,value=0]{Valeur numero 2}\\
\TextField[name=moy]{Moyenne des deux}\\
\PushButton[name=go,
onclick={var a = this.getField("nb1");var b=this.getField("nb2");
var moy=this.getField("moy");moy.value=(a.value+b.value)/2
}
]{Calculate}
\end{Form}
\end{document}
当我向 nb1 或 nb2 框添加一个值时,平均值 (moy) 不会被计算。
多谢,
西里尔