javascript - 使用 Javascript 将 PDF 表单转换为 self 更正作业

标签 javascript forms validation pdf

我是一名教师,我们正在考虑尽可能实现无纸化。我学会了(通过在此处搜索并询问之前的问题)如何使用 Javascript 单独验证 PDF 表单回复。我相信有一些方法可以在提交之前验证整个表单,但我还没有找到如何做到这一点。这些表格实际上是 PDF 文档,而不是网页。

我的问题是关于验证和提交的。有没有办法使用 javascript(或任何其他方法)来:

  1. 通过单击按钮验证整个表格(这将是学生要完成的整个作业)?
  2. 通过同样的点击,将收到的答案和“分数”提交到电子表格?我的类(class)有一个网站和域,我可以通过 cPanel 对其进行完全修改以处理提交,如果我必须以某种方式在那里进行设置的话。

理想情况下,我想要提交和分数,所以学生无法验证,根据验证更改所有答案,然后提交完美的作业。

另一种方法是让学生填写表格、验证并让学生打印出他们的分数。我能看到的唯一问题是学生重新加载 PDF 并在验证后更改他们的答案。

有什么见解或建议吗?

最佳答案

您可以将 JavaScript 添加到提交按钮并使其显示分数,然后将表单字段值提交到您的网站。

这不是万无一失的。 Adobe Acrobat/Reader 中的 Javascript 错误控制台可能会显示有关您的 Javascript 代码的泄漏信息。有多种 PDF 处理工具可以从 PDF 中提取 JavaScript 代码。

因此,最好的选择是有一个简单的提交按钮,并让它向服务器提交表单字段数据。在服务器上,您可以有一个脚本来评估提交的表单字段数据,并以 FDF 流的形式将消息发送回 Adob​​e Reader。 FDF 流可以包含分数。


  Response.ContentType = "application/vnd.fdf"
  Response.Write "%FDF-1.2" & VbCrLF & _
                 "1 0 obj<< /FDF << /Status (" & sAcroResponse & ") >>      >>endobj" & VbCrLF & _
                 "trailer" & VbCrLF & _
                 "<< /Root 1 0 R >>%%" & VbCrLF

上面的脚本是在经典 ASP 中。消息 (sAcroResponse) 将显示在 Adob​​e Reader 中,而不是浏览器中。您可以将此脚本调整为您的 Web 服务器支持的任何语言。

关于javascript - 使用 Javascript 将 PDF 表单转换为 self 更正作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16090286/

相关文章:

javascript - 多个表单调用相同的 javascript 函数

javascript - jquery 隐藏和显示 div 失败

javascript - 调用外部脚本的onload函数

javascript - 如何在用户按 Enter 时触发 Tab

javascript - 尝试在点击时更改图像

python - 如何在表单向导中使用 ModelFormSet

php - 如何重定向到我在表单中提交的页面(分页)

html - Angular 2 中的验证

asp.net-mvc-3 - ASP.NET MVC 3 不引人注目的验证失败

validation - JAX RS 泽西模式验证