在Javascript中获取h:outputText
Get h:outputText in Javascript
我已经在h:outputText
中加载了一些信息,但现在我想点击一个按钮并触发一个JS函数,该函数将从outputText中获取该文本。
结构为:
<p:tabView id="tabView">
<p:tab id="tabInvitator" title="Invitator">
<h:form id="formInvitator">
<h:outputText id="inv" value="#{myController.selectedUsersFB}" />
...
但在JS函数文档中,getElementsById("tabView:tabInvitator:formInvitator:inv")不起作用。它重新命名了网络应用程序。
我只想获取这些数据,并在JS函数中对其进行操作
有什么建议吗?
更新:
我已经尝试了BalusC的建议,下面是我的尝试:
function test(){
var arr = document.getElementsByName("tabView:tabInvitator:formInvitator:inv");
console.log(arr);
console.log('Arr: '+arr);
console.log('Length: '+arr.length);
第一个日志返回:[],第二个返回:Arr:[object NodeList],第三个:长度:0
为什么日志返回不同的内容?现在,如果假设h:outputText中有一个文本,我如何访问该对象NodeList?
我下面回答中的解决方案
首先,我想要更新的是一个唯一的ID,因此JS调用将是:document.getElementById(…)(而不是复数形式-getElementsById),因为我只会从中返回包含值的数据,通常是文本。
按照我的例子,如果我想首先更新outputText,然后在JS函数中获取信息,我可以连续执行,首先更新字段(我把它放在任何标签中),完成后,调用JS函数:
<p:tabView id="tabView">
<p:tab id="tabInvitator" title="Invitator">
<h:form id="formInvitator">
<p:commandButton value="Invite" icon="ui-icon-comment" update=":inv" oncomplete="sendRequestViaMultiFriendSelectorSelected();"/>
</h:form>
</p:tab>
</p:tabView>
<h:outputText id="inv" value="#{myController.selectedUsersFB}" />
和Javascript函数:
function sendRequestViaMultiFriendSelectorSelected() {
var arr = document.getElementById("inv");
console.log(arr.childNodes[0]);
if(arr.childNodes[0]){
console.log(arr.childNodes[0].data);
}
...
}
希望它能帮助到别人;)
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jquery试图按名称获取按钮位置
- 如何在jQuery中获取元素的形式
- 如何在php文件中获取$.post-ajax传递的值
- 在Shopify中获取博客文章的图片
- 使用Javascript获取所选选项ID
- 在jQuery中获取表的行索引
- 使用jquery将mysql数据获取到新的表行中
- 在动态创建的元素上获取对特定选择器的引用
- 从城市名称获取惊喜
- Angular只从数组中获取所需的数据
- 无法将数据从firebase获取到我的html页面
- 从ajax请求中获取javascript对象
- 如何从画布上的某个移动事件中获取X和Y
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 如何在PHP中使用$_POST获取Select元素值
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 如何使用 JavaScript 获取 JSF h:outputText 值
- 在Javascript中获取h:outputText