最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

jsf 2 - how to use javascript to get jsf h:outputText value? - Stack Overflow

programmeradmin1浏览0评论

I have a button has action which can set myBackingBean.myString, and onclick event calls js method to alert that value. I just want to get the value of myString from backing bean by using javascript.

I have a hidden output which has value from backing bean:

h:outputText id="myOutput" rendered="false" value="#{myBackingBean.myString}" 

then I need to alert this value in javascript fxn which triggered by a button:

function myFunction() {

var outPut= document.getElementById("myForm:myOutput").value;

...

}

but i got Object required error. How can i fix this? thanks in advance.

I have a button has action which can set myBackingBean.myString, and onclick event calls js method to alert that value. I just want to get the value of myString from backing bean by using javascript.

I have a hidden output which has value from backing bean:

h:outputText id="myOutput" rendered="false" value="#{myBackingBean.myString}" 

then I need to alert this value in javascript fxn which triggered by a button:

function myFunction() {

var outPut= document.getElementById("myForm:myOutput").value;

...

}

but i got Object required error. How can i fix this? thanks in advance.

Share Improve this question edited May 3, 2012 at 17:51 Brad Fox 6816 silver badges19 bronze badges asked Apr 19, 2012 at 18:38 CeliaCelia 671 gold badge3 silver badges8 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 1

Make you sure that the h:outputText is rendered (rendered="false" could just not add it to the DOM. If it does not render, it can't be accessed. If you need it hidden, use h:inputHidden instead).

Then make sure that it renders an HTML tag as or acting like a container with the id attribute as "myForm:myOutput".

Also, the .value javascript accesor is used for input tags, so use inerHTML instead.

You need not always to have a hidden field to access the Bean Property. You can do it as below.

<h:mandButton value="Show" onclick="alert('#{myBackingBean.myString}');"/>

But if you want to change the value of 'myString' when you click the button and then you want to display the new value you should use a <a4j:mandButton/> and it's onComplete attribute as below.

<a4j:mandButton value="Change" action="#{myBackingBean.changeString()}" onplete="alert('#{myBackingBean.myString}');" />
发布评论

评论列表(0)

  1. 暂无评论