如何在 Orbeon Forms 中的客户端 javascript 中获取元素 ID
How to get element id in client-side javascript in Orbeon Forms?
我是XHTML,XForm和Orbeon的新手,我有一个关于在Orbeon Forms中使用客户端javascript检索HTML元素ID的问题。在普通的HTML中,我只是使用了getElementById函数,Orbeon的文档建议使用一个函数来检索元素的值(用他们的术语中的控制器(。
ORBEON.xforms.Document.getValue(controlIdOrElement(
但是,对于 Orbeon From(片段(,例如
<xf:bind id="fr-form-binds" ref="instance('fr-form-instance')">
<xf:bind id="section-1-bind" name="section-1" ref="section-1">
<xf:bind id="cvr-input-bind" name="cvr-input" ref="cvr-input"/>
(...)
<fr:section id="section-1-control" bind="section-1-bind">
<xf:label ref="$form-resources/section-1/label"/>
<fr:grid>
<xh:tr>
<xh:td>
<xf:input id="cvr-input-control" bind="cvr-input-bind">
<xf:label ref="$form-resources/cvr-input/label"/>
<xf:hint ref="$form-resources/cvr-input/hint"/>
<xf:alert ref="$fr-resources/detail/labels/alert"/>
</xf:input>
</xh:td>
(...)
getValue 函数在任何参数变体上都找不到值
- CVR输入
- CVR输入控制
- CVR-input-bind
以字符串形式给出。
当我检查生成的表单时,我看到输入元素已经获得了id section-1-control≡xf-383≡cvr-input-control,getValue 无法在上面的三个变体上找到它是有道理的。
我已经制作了一个触发按钮 - 如下所示 - 产生预期的结果(将输入值映射到另一个控制器/元素(,但我无法想象解决方案必须涉及对元素ID的部分进行硬编码。
因此,我的问题是:当在最终视图中修改编码的 ID 时,如何检索元素/控制器(或其值(?
<xf:trigger id="get-pnumbers-btn-control" bind="get-pnumbers-btn-bind">
<xf:label ref="$form-resources/get-pnumbers-btn/label"/>
<xf:hint ref="$form-resources/get-pnumbers-btn/hint"/>
<xf:alert ref="$fr-resources/detail/labels/alert"/>
<xxf:script ev:event="DOMActivate" type="javascript">
var cvrInputElementId = "section-1-control≡xf-383≡cvr-input-control";
var cvrOutputElementId = "section-1-control≡xf-383≡cvr-output-control";
var cvrInput = ORBEON.xforms.Document.getValue(cvrInputElementId);
ORBEON.xforms.Document.setValue(cvrOutputElementId, cvrInput);
</xxf:script>
</xf:trigger>
xxf:client-id()
函数解析 id 并返回客户端 id。这可能会有所帮助。然后你需要以某种方式将该 id 传递给脚本(这在即将推出的 4.11 中很容易,但以前有点难(。
你也可以使用 jQuery,查找一个id
以某个字符串结尾的元素:
var clientId = ORBEON.jQuery('[id $= "cvr-input-control"]').attr('id')
有一个 RFE 来改进 id 方案。
相关文章:
- 使用Javascript获取所选选项ID
- 可以't使用JavaScript获取width属性
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- Javascript获取上一个元素的内容
- 使用Javascript获取Twitter访问令牌
- 在不同的文件中使用Javascript获取表单数据
- 如何用javascript获取谷歌地图的经度和纬度
- 使用javascript获取表的td值
- 如何使用JavaScript获取当前URL
- 如何在谷歌网站中使用javascript获取当前页面的网址
- Javascript获取所有锚链接的索引
- 如何使用javascript获取从指定文件夹创建的所有文件的名称、大小、类型和日期
- Javascript获取具有不同id的文件数's来自没有多个属性的文件输入元素
- 如何使用javascript获取下一个/转发url
- 需要使用javascript获取输入文本,然后将其添加到句子中
- 使用JavaScript获取Gridview单元格值
- 使用javascript获取跨度的文本
- 如何使用Javascript获取POST请求填充的元素的值
- JavaScript-获取数据属性的值返回未定义的值
- Javascript:获取“;FORM”;它是在.html到外部.js文件中创建的