javascript - jQuery 无法将 'connect' 与我服务器生成的网页上的元素一起使用

标签 javascript jquery webmethods

我正在尝试在 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);

...我收到消息“未定义”(没有双引号)的警报..

最佳答案

我们需要一些 HTML。我不太了解您的选择器。你说它是“分配给一个按钮”,所以你需要一个点击

jQuery(document).on("click", "#clientIds[name=txtInput]", function(){

    v = $(this).val();
    alert(v);

});

总的来说,客户端代码和服务器端代码不通信。服务器端代码吐出 HTML,然后客户端代码处理它。对于两者进行通信,您需要通过例如发送数据页面请求或 AJAX。

关于javascript - jQuery 无法将 'connect' 与我服务器生成的网页上的元素一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9634631/

相关文章:

webMethods 遍历文档列表

php - 以 0 开头的变量被 javascript 删除

JavaScript 确定函数接受的参数数量

javascript - 编写 Firefox WebExtensions 时出现不适当的 WebStorm 警告

javascript - 响应式问题 JQzoom

jquery - 使用 AJAX/jQuery 发布到 Facebook 墙/提要

filter - JMS 消息正文字符串上的 Xquery

javascript - 为什么javascript日期月份索引是从0开始的

javascript - 让我的搜索表单触发 JQuery Ajax 请求

api - 使用 Webmethods 作为客户端将附件添加到 JIRA REST API