我的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