【问题标题】:Bluebeam Auto-fill form fields based on drop-downBluebeam 基于下拉菜单自动填写表单字段
【发布时间】:2017-10-27 11:52:40
【问题描述】:

我是 Bluebeam 的新手,我的任务是制作一个表单,其中文本字段根据下拉选择自动填充。下拉列表是联系人,自动填充区域是标题、电子邮件和电话。我发现了一些看起来可以工作的 Javascript (How to make a Drop-down form in a PDF auto-populate a text box [Bluebeam]),但我不知道如何在 Bluebeam 中实际设置它。

我在表单中输入了下拉菜单,并且为自动填充区域创建了表单文本框。但是如果这是我要使用的代码,我应该把它放在哪里:

ar contarr = new Array() ;
contarr[0] = ["Contact", "Title", "Email", "Telephone"] ;
contarr[1] = ["Miguel", "Facilities Manager", "Miguel@gmail.com", "+1 555.555.9285 | Cell"]
contarr[2] = ["Jerry", "Facilities Manager", "Jerry@gmail.com", "+1 555.555.8642 | Cell"]
contarr[3] = ["Andrew", "Engineer", "Andrew@gmail.com", "+1 555.555.0985 | Cell"]
contarr[4] = ["Tom", "Director", "Tom@gmail.com", "+1 555.555.5987 | Cell"]
contarr[5] = ["Richard", "Supervisor", "Richard@gmail.com", "+1 555.555.7193 | Cell"]

我找到了答案的这一部分:

“在您的下拉列表中,添加联系人姓名,作为返回值,您在 contarr 数组中添加其条目的索引号。假设我们将下拉列表称为“联系人”。”

我不知道该怎么做。我已经添加了联系人姓名,但是我在哪里放置“返回值”和“索引号”?我不知道什么是“contarr 数组”。

它还在一个独立的文件中说我会放:

var sele = this.getField("Contact").value ;
this.getField("Title").value = contarr[sele][1] ;
this.getField("Email").value = contarr[sele][2] ;
this.getField("Telephone").value = contarr[sele][3]

一个独立的字段只是一个普通的文本框,我隐藏在我的 pdf 的某个地方,还是我们像 excel 工作表或其他东西一样说话?

我搜索了整个网络,但找不到分步说明。非常感谢任何帮助。

【问题讨论】:

    标签: javascript forms pdf drop-down-menu autofill


    【解决方案1】:

    这是一个 sn-p,它可以是一个文档级脚本来实现你想要的。该代码假设您有 4 个表单字段、一个名为“联系人”的下拉菜单,然后是 3 个文本框,即“标题”、“电子邮件”和“电话”。

    代码使用来自 contarr 的名称填充组合框,然后添加代码以响应活动项目的更改以更新文本框。

    var contarr = new Array() ;
    contarr[0] = ["Contact", "Title", "Email", "Telephone"] ;
    contarr[1] = ["Miguel", "Facilities Manager", "Miguel@gmail.com", "+1 555.555.9285 | Cell"]
    contarr[2] = ["Jerry", "Facilities Manager", "Jerry@gmail.com", "+1 555.555.8642 | Cell"]
    contarr[3] = ["Andrew", "Engineer", "Andrew@gmail.com", "+1 555.555.0985 | Cell"]
    contarr[4] = ["Tom", "Director", "Tom@gmail.com", "+1 555.555.5987 | Cell"]
    contarr[5] = ["Richard", "Supervisor", "Richard@gmail.com", "+1 555.555.7193 | Cell"]
    
    var names = [];
    for (var i = 0; i < contarr.length; i++) {
        names.push(contarr[i][0]);
    }
    
    this.getField("Contacts").setItems(names);
    this.getField("Contacts").setAction("Keystroke", "onContactSwitch(event.value);");
    
    selectContact(0);   // Choose initial contact
    
    function onContactSwitch(name) {
        for (var i = 0; i < contarr.length; i++) {
            if (contarr[i][0] == name) {
                selectContact(i);
                break;
            }
        }
    }
    
    function selectContact(i) {
        this.getField("Title").value = contarr[i][1];
        this.getField("Email").value = contarr[i][2];
        this.getField("Telephone").value = contarr[i][3];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-02
      • 1970-01-01
      • 1970-01-01
      • 2013-02-13
      • 1970-01-01
      • 2012-08-14
      • 2019-08-29
      相关资源
      最近更新 更多