-2

我正在使用 TBS/OpenTBS(感谢 Skrol,它很棒)根据表单输入生成 Word 文档。表单域之一是复选框。假设它有十个选项。如果选择了一个选项,我可以很好地显示内容,但是如果选择了 4 个选项,我需要在我的模板中定义一个条件,如果选择了这 4 个选项会发生什么。对于其他所有排列,我都必须这样做。

我想要做的是使用基于“when”的条件部分,这样它的行为就好像它有一个“contains”或“includes”参数,但我不知道这是否可能。我希望能够在模板中采用这种方法:

  • 如果选项 A 被勾选(不管是否有其他选项被勾选),输出这个
  • 如果选项 B 被勾选(不管是否有其他选项被勾选),输出
  • 如果勾选了选项 C(不管是否勾选了其他选项),输出其他内容
  • 等等剩余的选项
  • 如果没有勾选,则不输出

鉴于可能存在大量排列,我不想为每个排列定义一个条件。我只希望模板在一个选项被勾选时输出一个特定的段落,而不管其他人是否被勾选,这将适用于每个选项。

希望这是有道理的。有谁知道TBS是否可以做到这一点?非常感谢。

4

1 回答 1

0

参数magnet+ope=mok就是为了这种目的而完成的。

使用ope=mok:1时,如果字段值为 1,TBS 字段将保留磁体目标,否则删除磁体目标。TBS 字段永远不会与 一起显示ope=mok

如果你使用参数noerr,那么如果没有找到子项,则不会显示错误。HTML 复选框控件可能会发生这种情况:它们在未选中时不返回任何内容。

模板示例:(每个 ine 是一个段落)

[f_data.OptionA;noerr;ope=mok:1;magnet=tbs:p] output this
[f_data.OptionB;noerr;ope=mok:1;magnet=tbs:p] output that
[f_data.OptionC;noerr;ope=mok:1;magnet=tbs:p] output something else

PHP对应片段:

$form_data = ...;
$TBS->MergeField('f_data', $form_data);
于 2018-12-17T23:15:22.090 回答