Adobe可填写PDF:实现跨关联字段退格的JavaScript代码需求
解决可填写PDF跨字段退格跳转问题
没问题,我来帮你搞定这个退格跳转的需求!你已经实现了输入时从第一行跳第二行的逻辑,现在只需要给第二行字段加个退格监听的脚本,就能实现反向跳转了。
实现思路
当学生在第二行字段(Idea 1b_3)按退格键,且删除后字段内容为空时,自动将焦点切回第一行字段(Idea 1a_3),并把光标定位在第一行的末尾,这样就能和输入时的流转逻辑完全对应上。
具体代码步骤
- 保留并优化第一行原有脚本:你之前写的第一行字段的Keystroke事件代码可以保留,还能加个光标定位的小优化提升流畅度:
var t1 = this.getField("Idea 1a_3"); if (event.fieldFull) { var t2 = getField("Idea 1b_3"); t2.setFocus(); // 可选:自动把光标定位到第二行开头,不用手动点击 t2.setSelection(0, 0); }
- 给第二行添加退格监听脚本:选中第二行字段(
Idea 1b_3),在它的KeyUp事件中添加以下代码:
var t2 = this.getField("Idea 1b_3"); // 检测退格键,且当前字段内容已为空(退格后无剩余内容) if (event.key === "Backspace" && t2.value.length === 0) { var t1 = this.getField("Idea 1a_3"); t1.setFocus(); // 将光标定位到第一行的末尾,方便继续退格编辑 t1.setSelection(t1.value.length, t1.value.length); }
Acrobat操作步骤(怎么加脚本)
- 打开你的可填写PDF,点击工具栏的「准备表单」进入表单编辑模式
- 选中第二行字段
Idea 1b_3,右键选择「属性」 - 在属性窗口切换到动作选项卡
- 从「选择动作」下拉菜单选「运行JavaScript」,点击「添加」
- 粘贴上面的第二行脚本,保存即可
这样设置后,学生在第二行退格到空时,就会自动跳回第一行的末尾,完全复刻输入时的流畅流转体验啦!
内容的提问来源于stack exchange,提问作者sarita9203
相关产品推荐
相关产品推荐

