【问题标题】:Script to access and assign values from a nested object用于从嵌套对象访问和分配值的脚本
【发布时间】:2023-02-15 11:47:46
【问题描述】:
我创建了一个脚本(在下面提供),用于从嵌套对象中提取值并将其分配给驻留在 PDF 表单上的文本字段。不幸的是,该脚本失败导致出现大量未定义,因为 f 值似乎为 Null。澄清一下,event.value 是用户选择的值,该值分配给表单上的组合框。因此,无论出于何种原因,组合框选择都没有分配给变量“f”,在这种情况下脚本失败并导致表单上的字段值未定义。我正在考虑该解决方案需要对脚本进行较小的调整才能访问对象值。提前谢谢你。
var oField = getField("dataSource");
oVendors = JSON.parse(oField.value);
for(j=0;j<14;j++){
f=getField("inf."+j);
f.value = oVendors[event.value][j];
}
【问题讨论】:
标签:
pdf
combobox
javascript-objects
field
【解决方案1】:
Upon further reading and learning about how to create and use a JS object, the
initial script posted was entirely wrong. The script required to extract and
assign values from a JS object to text fields residing on a PDF form is as
follows:
dsFld =getField("dataSrc");// dataSrc is a hidden text field that resides on the
PDF form
oVendors = JSON.parse(dsFld.value);//parse oVendors, a JS object stored as a
JSON string in the hidden dataSrc field
btnDel=getField("btn.del");
var oFld;//declare var oFld for later use
var oPassData = oVendors[event.value];//assign a field value to var oPassData
if(oPassData){
//walk members to fill fields
for(var nNm in oPassData){ // skip fields that don't exist on form
oFld = this.getField("inf." + nNm);
if(oFld)
oFld.value = oPassData[nNm]
}
Sorry for the initial post and any inconvenience to the forum.