尽管通过id进行了调用,但Javascript无法访问jsf outputText(label)元素
Javascript is unable to access jsf outputText(label) element inspite of calling via id
我试图使用javascript访问jsf outputText值的值,但它抛出了undefined。以下是代码
<ui:composition template="/template.xhtml">
<ui:define name="head">
<script type="text/javascript">
function sendDetails()
{
alert("am inside js");
var key=document.getElementById('editForm:key').value;
alert(key);
}
</script>
</ui:define>
<ui:define name="body">
<f:view>
<h:form id="editForm">
<h:outputLabel id="key" value="#{editController.details.clientId}" style="font-weight: bold" >
<h:commandLink id="analytics" onclick="sendDetails()" value="View"></h:commandLink>
</h:form>
</f:view>
</ui:define>
</ui:composition>
当我点击命令链接时,它会抛出未定义的!!我无法访问输出标签的值。我检查了firebug 中的查看页面源
<label id="editForm:key" style="font-weight: bold">
1e20bb95-753e-4252-b6d6-e109fa07171e
这似乎是对的。。我检查了console.log(document.getElementById('editForm:key'))
console.log(document.getElementById('editForm:key').value)
,它显示<label id="editForm:key"> undefined
如何访问label/jsf输出文本值。我需要一个只有javascript的解决方案
您无法使用.value
获取h:outputLabel
值,因为它被渲染为HTML label
标记,而使用.value
无法获取h:outputText
值,因为其被渲染为HTMLspan
标记。
对这两个标记都使用.innerHTML
。
你可以用萤火虫找到它的所有属性。将此添加到观看
document.getElementById('editForm:key')
例如,以下是包含其文本的更多属性
.innerHTML
.outerText
.textContent
相关文章:
- 访问布局信息是否也会导致浏览器重排
- 如何通过ajax刷新JSF填充的javascript变量
- Javascript,访问一个主要对象模块模式中的每个对象
- 如何访问声音管理器2创建的声音对象
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- JavaScript Pub/Sub属性访问问题
- 当我点击jsf中的primefaces命令按钮时,如何获得点击事件
- 从JavaScript访问struts操作中的属性
- 是否可以从父类访问子类的属性
- 如何访问fastOpt.js
- 访问JSON对象内部的数组元素
- 从模块内部访问Express装载路径
- 关于 JSF 2 中的访问键
- 尽管通过id进行了调用,但Javascript无法访问jsf outputText(label)元素
- 如何从jQuery或JavaScript访问JSF's SelectItem
- 不能在jsf组件中访问javascript文件
- 如何通过javascript getElementById访问自定义JSF标签
- Javascript无法通过id调用JSF组件来访问该组件
- 从 JSF 访问 Javascript 变量
- 使用JSF 2.0 Ajax响应访问bean函数的返回值