我认为这很简单但是我没有看到如何使用DTM来检测选择的onChange?如果我在事件类型中选择“更改”,我会得到一个下拉列表来选择一个不是我想要的数据元素。那么如何检测页面上选择的更改?我不关心它改变的价值,只关心它改变的事实?
<select id="mainForm:cont_appRequest_customers__0_identityDocuments__0_identityDocumentType:decoin:appRequest_customers__0_identityDocuments__0_identityDocumentType" name="mainForm:cont_appRequest_customers__0_identityDocuments__0_identityDocumentType:decoin:appRequest_customers__0_identityDocuments__0_identityDocumentType" size="1"> <option value="org.jboss.seam.ui.NoSelectionConverter.noSelectionValue" selected="selected">-- Choose one --</option>
<option value="DRIVERS_LICENSE">Driver's License</option>
<option value="STATE_ID">State issued ID Card</option>
答案 0 :(得分:3)
在基于事件的规则 >
条件 >
事件类型
选择 Forms
>
change
保留 to value
,取消选中该文本字段并将其留空。
将出现“Select Data Element
”下拉列表 - 忽略它(将其保留为默认的“Select One
”值)。
正常使用元素标记或选择器字段定位<select>
元素。
旁注:(这是您在问题中提到的问题)。
如果您想将Select Data Element
绑定到数据元素,我认为“change
”下拉列表应该是 - 在您的情况下, <select>
元素到(css)数据元素 - 但我认为这不像Adobe那样有效。
我认为的目的是使其与dataelementchanged
事件类型实际相同,但规则仍然无论如何,即使您选择数据元素,也希望您填写元素标记或选择器。如果你必须填写规则字段的其余部分,所以我也没有看到设置数据元素的好处。在那个说明..
<强>替代强>
另一种方法是创建类型 CSS Selector
的数据元素。在 CSS Selector Chain 中,指向您的<select>
元素,对于 get the value of
,请选择“value
”。
接下来,在基于事件的规则中,选择dataelementchanged
的事件类型,然后选择数据元素落下。
注意:我只是提到这个替代方案,以便指出我认为“Select Data Element
”下拉列表的目的是什么,因为 Forms
>
change
方法。但正如前面提到的那样,规则会让你填写其余的字段,所以我真的没有看到为第一种方法做的事情。但这就是你如何做它自己独立的方法。在实践中,我不推荐这种方法,因为它比第一种方法具有更高的性能成本( dataelementchanged
类型通过每100ms轮询一次数据元素)