Adobe Acrobat 2017 Javascript 为空?

Adobe Acrobat 2017 Javascript is null?

在此代码中:

this.getField("myField").value == null;
this.getField("myField").value === null;
typeof this.getField("myField").value == null;
typeof this.getField("myField").value === null;
this.getField("myField").rawValue === null;
this.getField("myField").formattedValue === "";
this.getField("myField").isNull;
this.getField("myField").isNull == True;

以上所有交换 'null' 为 'Null',封装 'Null',和 'undefined'.

在每种情况下我得到的都是:

TypeError: this.getField(...) is null
23:Field:Blur

如何查看字段是否为空?我不想有默认值,因为不是表单上的每个字段都需要使用并且应该可以为空。

如果您收到该错误,那是因为 this.getField("myField") 本身 正在返回 null。所以 任何 尝试使用 属性 它 returns 都会失败。

听起来你需要一个 null 守卫:

var field = this.getField("myField");
if (field !== null) }
    // use `field.value` here...
}

通常...意味着您使用应用程序而不是库来创建表单...PDF 字段值永远不会为空。空字段具有零长度字符串作为默认值。要测试该字段是否为空,请使用...

if (this.getField("myField").value.length == 0) {
    // do something 
}
else {
    // it has a value
}

if (this.getField("myField").value == "") {
    // do something 
}
else {
    // it has a value
}