我的JDeveloper版本11.1.1.9.0如何通过JavaScript
我知道通过clientListener
标签定位的元素。但是这只会给我提及它所宣布的元素。如果我想根据jDeveloper中声明的ID定位页面上的其他元素,该怎么办?例如:
<af:inputText label="Label 1" clientComponent="true" id="it15"> // what's declared in jDeveloper
这使得成HTML为:
<input type="text" class="x25" name="r1:0:it15" id="r1:0:it15::content">
注意如何it15
被转换成r1:0:it15
。这样做以后出现故障在获得该元素的引用:
document.getElementById("it15"); // returns null
AdfPage.PAGE.findComponent("it15"); // returns undefined
这使我以下的问题:
为什么ID的变化时,HTML获取呈现?
如果它的ID被一个随机的 字符串预先编码,我将如何定位该元素?
有没有办法获取该随机字符串,而不是使用控件ID对其进行硬编码 ?
我不知道如果这有助于但我已经遇到了类似的问题,与ado.net有是一种添加代码片段来获取客户端ID的方法。 – Rajesh
你的输入文本是一个叫做r1的表单,它看起来像你正在创建多个inputTexts,基于0通过重复或类似的东西。 Jsf将您的字段ID转换为独特的东西,以便找到它。 – klog
这很有道理。是的,我在表格中有更多的文本框。但是表单ID是'f1',它的第一个孩子的ID是'r1' – asprin