首页 > 解决方案 > 如何将 yform 的值复制到其他字段

问题描述

在我们的(hybris)商店中,一些产品有一个 yform 来总结产品的各个部分。有没有一种简单的方法可以将 sum 字段的值复制到其他字段(自动)中,例如 productquantity(没有 yForm)?我想我需要 javascript,但是 sumfield 的 id 是生成的,所以我不知道如何得到总和。我的Javascript能力也很有限......

更新:

为了获得价值,我使用这部分代码:

copyYFormValueToProductQuantity : function() {
    var copyText = document.querySelector('input[id*="sum"]').value
    if (copyText > 0 && copyText != null)
        {
        //do stuff
        }
  console.log("Copied value: " + copyText)

},

但是这条线

document.querySelector('input[id*="sum"]').value

返回空值。如果我在浏览器控制台中使用它,它也会返回 null。但是在我检查了它的元素之后,它会返回我想要的值。所以我想我在这里遗漏了一些 JS 基础知识并且对象之前还没有准备好?

顺便说一句:我用 keydown-eventlistener 调用这个函数。

标签: javascripthybrisorbeon

解决方案


据我了解您的问题,您是说要将名为 yForm 字段的值复制到名为sum的非 yForm 字段中productquantity,并且您具体询问如何从 JavaScript 访问 yForm 字段的值。如果我理解正确,您可以通过调用以下 JavaScript API 来做到这一点:

ORBEON.xforms.Document.getValue("sum");

您可以在Client-side JavaScript API上找到有关此 API 和其他相关 API 的更多信息。


推荐阅读