簡體   English   中英

Bluebeam 基於下拉菜單自動填寫表單字段

[英]Bluebeam Auto-fill form fields based on drop-down

我是 Bluebeam 的新手,我的任務是制作一個表單,其中文本字段根據下拉選擇自動填充。 下拉列表是聯系人,自動填充區域是標題、Email 和電話。 我發現了一些 Javascript 看起來可能有效( 如何在 PDF 中制作下拉表單自動填充文本框 [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 工作表之類的東西?

我已經搜索了整個 web 並且找不到分步說明。 任何幫助是極大的贊賞。

這是一個片段,它可能是一個文檔級腳本來實現你想要的。 該代碼假定您有 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];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM