我正在尝试在 Software AG webMethods IDE 中使用 jQuery 功能,它自己生成页面.. 基本上,我给 jQuery 的函数一个服务器生成的元素 ID,但 jQuery 无法读取它的值或写入一个值对它,或用它做任何事情..
这是我正在使用的代码:
if(jQuery.isNumeric(jQuery(CAF.model("#{activePageBean.clientIds['txtInput']}").id).val()))
{
alert("its a number");
}
else
{
alert("its not a number");
}
txtInput 是一个普通的输入文本字段,上面的代码被分配给一个按钮......无论在文本字段中输入什么,我总是得到“它不是数字”的警报..
另外,如果我改用此代码..
alert(jQuery(CAF.model("#{activePageBean.clientIds['txtInput']}").id).val());
...我总是收到警告说“未定义”(不带双引号)..
返回文本字段 ID 的表达式是:
CAF.model("#{activePageBean.clientIds['txtInput']}").id
..这是:
jsfwmp147312:defaultForm:txtInput
如果我改为运行这个 webMethods 内置函数来获取值:
CAF.model("#{activePageBean.clientIds['txtInput']}").getValue();
它确实返回文本字段中当前的值..
所以基本上由于某种原因 jQuery 的函数无法与页面的元素“连接”..
我该如何诊断/解决这个问题?
编辑:
更多信息:
如果我尝试以下代码...
var myId = "jsfwmp147312:defaultForm:txtInput";
var element = document.getElementById(myId);
alert(element.value + "");
..我在警报中得到了字符串文本字段的字符串值,没问题...但是如果我尝试这个...
var myId = "jsfwmp147312:defaultForm:txtInput";
var val2 = jQuery(myId).val();
alert(val2);
...我收到消息“未定义”(不带双引号)的警报..