点击按钮,我在客户端JavaScript中调用一个函数。
doIt("TEST");
“TEST”只是我XPage上标签的ID。 在函数中,我想使用我作为ID传递的变量。类似的东西:
function doIt(item){
alert(dojo.query("[id$=':item']").innerHTML);
}
OR
function doIt(item){
val = XSP.getElementById("#{id:item}").innerHTML;
alert(val);
}
我也尝试过使用它,它给出了undefined:
val = dojo.query("[id$=':" + item + "']").innerHTML;
alert(val);
如果我像这样硬编码ID名称,那么我得到ID为“TEST”的元素的正确innerHTML:
val = XSP.getElementById("#{id:TEST}").innerHTML;
alert(val);
在尝试使用传递的变量编写这个非常简单的代码行时,我的语法错在哪里?
答案 0 :(得分:1)
最简单的方法是使用完整的id调用您的函数:
doIt("#{id:Test}")
并在你的功能中使用它
function doIt(item){
alert(dojo.byId(item).innerHTML);
}
答案 1 :(得分:0)
在" onclick"按钮中的客户端事件(在XPage或CC中),可以计算客户端ID,所以你应该把它放在这样的东西:
doIt("#{id:Test}"); // << "#{id:Test}" is computed in the server-side and the final client ID is sent to the browser
然后,在你的cjs库中(cjs库不是&#34;评估&#34;在发送到客户端之前,所以在这里你不能使用&#34;#{id:Test}&#34;表达式)你应该有类似的东西:
function doIt(idElement) {
var domElem = dojo.byId(idElement); // << here you get the element
}