javascript - pdfform.js 库不仅仅在选择框和复选框中编码
问题描述
使用名为 pdform.js 的 js 库,读取的 pdf 表单如下:
其他文本形式和单个复选框正常编码。
只有复选框、单选按钮和选择框不能编码。无论我怎么看,我都无法回答。
代码太长,无法附上,但我觉得这里下面的代码有问题。
function list(buf) {
var list_form = document.querySelector('.list_form');
empty(list_form);
var cnt = 1;
var field_specs;
try {
field_specs = make_pdfform().list_fields(buf);
} catch (e) {
on_error(e);
return;
}
for (var field_key in field_specs) {
var row = document.createElement('div');
row.appendChild(document.createTextNode(field_key));
list_form.appendChild(row);
field_specs[field_key].forEach(function(spec, i) {
for(var key in spec) console.log(key + " = " + spec[key]);
if ((spec.type === 'radio') && spec.options) {
var fieldset_el = document.createElement('fieldset');
spec.options.forEach(function(ostr) {
var label = document.createElement('label');
var radio = document.createElement('input');
radio.setAttribute('type', 'radio');
radio.setAttribute('value', ostr);
radio.setAttribute('name', field_key + '_' + i);
radio.setAttribute('data-idx', i);
radio.setAttribute('data-key', field_key);
label.appendChild(radio);
label.appendChild(document.createTextNode(ostr));
fieldset_el.appendChild(label);
});
row.appendChild(fieldset_el);
return;
}
var input = document.createElement((spec.type === 'select') ? 'select' : 'input');
input.setAttribute('data-idx', i);
input.setAttribute('data-key', field_key);
if (spec.type === 'boolean') {
input.setAttribute('type', 'checkbox');
} else if (spec.type === 'string') {
} else if ((spec.type === 'select') && spec.options) {
spec.options.forEach(function(ostr) {
var option_el = document.createElement('option');
//problem part
option_el.appendChild(document.createTextNode(ostr));
option_el.setAttribute('value', ostr);
input.appendChild(option_el);
});
}
row.appendChild(input);
});
}
}
解决方案
推荐阅读
- javascript - 在 Angular 中从 Firebase 中检索 UID
- android-studio - 如何在不转到 xml 文件的情况下为 android studio 中的按钮提供名称和 ID?
- mysql - 触发以验证房间容量
- r - 如何计算 R 中的 ker(A) / 零空间
- vue.js - Vue Template 中的匿名函数是性能杀手吗?
- hibernate - Cascade ALL 不为儿童组合生成 id
- python - python中缺少值的统计信息
- android - 使用 OkHttp 客户端执行原始 graphQL 查询
- java - Kafka Streams并行处理不起作用
- python - /Service /usr/bin/chromium-browser 处的 WebDriverException 意外退出。状态码是:127