Orbeon 表单:单击 "Submit" 后禁用表单字段

Orbeon form: Disable form fields after clicking "Submit"

我正在尝试配置“发送”过程以将所有字段设置为只读,但没有成功。这是我在 properties.xml 中的配置:

        <property as="xs:string" name="oxf.fr.detail.process.send.*.*">
            require-valid
            then save
            then success-message("save-success")
            then xf:setvalue(ref = "//*[xf:readonly]", value = "true()")
        </property>

感谢所有建议!

您不能使用 xf:setvalue 以命令式命令方式设置“只读性”。相反,“只读”是以声明方式定义的。对于您的情况,我建议:

  1. 提交表单时,您将表单的状态更改为“已提交”。在您的过程中,您可以使用 (doc):

     set-workflow-stage(name = "submitted")
    
  2. 在 Form Builder 中,您使用表单级公式 (doc) 声明如果阶段为“已提交”,则整个表单是只读的。公式如下所示:

     fr:workflow-stage-value() = 'submitted'
    

另请参阅博客 post New workflow capabilities in Orbeon Forms 2020.1