You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Adobe Acrobat Pro实现表单提交至用户输入的邮箱?

Adobe Acrobat Pro 表单自定义收件邮箱提交代码

一、实现自定义收件邮箱的正确代码

假设你用来输入团队负责人邮箱的文本框字段名为LeaderEmail,邮件主题文本框还是原来的MyTextField,可以用下面的代码实现需求:

// 获取用户输入的收件邮箱和邮件主题
var targetEmail = this.getField("LeaderEmail").value;
var customSubject = this.getField("MyTextField").value;

// 对主题做URL编码,避免空格、特殊字符导致链接失效
var encodedSubject = encodeURIComponent(customSubject);
// 拼接合法的mailto链接
var mailtoUrl = "mailto:" + targetEmail + "?subject=" + encodedSubject;

// 提交表单并将PDF作为附件发送
this.submitForm({
  cURL: mailtoUrl,
  bPDF: true
});

注意事项:

  • 把LeaderEmail改成你实际设置的收件邮箱文本框的字段名称
  • encodeURIComponent是必要的,能避免主题里的空格、特殊符号破坏mailto链接格式

二、你的错误代码问题分析

你贴的这段代码存在三个关键问题:

var customSubject = Tomato;
var mailtoUrl = "mailto:this.getField("MyTextField").value?subject=" + customSubject;
this.submitForm({
 cURL: mailtoUrl, bPDF:true
});
  1. 未加引号的字面量:var customSubject = Tomato;里的Tomato没有用引号包裹,JS会把它当作未定义的变量,运行时直接报错Tomato is not defined。如果是要设置固定主题文本,应该写成var customSubject = "Tomato";。

  2. 字符串内代码未执行:"mailto:this.getField("MyTextField").value?subject="里的this.getField("MyTextField").value是字符串的一部分,不会被当作JS代码执行,最终生成的mailto链接会是无效的mailto:this.getField("MyTextField").value?subject=...,正确做法是把代码放在字符串外通过+拼接。

  3. 引号嵌套冲突:整个mailto字符串用双引号包裹,内部又用双引号"MyTextField",会导致JS语法解析失败。可以把内部的双引号改成单引号,或者整个字符串用单引号包裹。

内容的提问来源于stack exchange,提问作者CptnMorgan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 12:31:00