0

我有一个按钮具有可以设置 myBackingBean.myString 的操作,并且 onclick 事件调用 js 方法来提醒该值。我只想通过使用 javascript 从支持 bean 获取 myString 的值。

我有一个隐藏的输出,它具有来自支持 bean 的价值:

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

然后我需要在由按钮触发的 javascript fxn 中提醒这个值:

function myFunction() {

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

...

}

但我得到了Object required错误。我怎样才能解决这个问题?提前致谢。

4

2 回答 2

1

确保 h:outputText 已呈现(rendered="false" 不能将其添加到 DOM。如果它不呈现,则无法访问它。如果您需要隐藏它,请改用 h:inputHidden) .

然后确保它将 HTML 标记呈现为或充当具有 id 属性为“myForm:myOutput”的容器。

此外,.value javascript 访问器用于输入标签,因此请改用 inerHTML。

于 2012-04-19T18:53:02.903 回答
0

您不必总是有一个隐藏字段来访问 Bean 属性。您可以按如下方式进行。

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

但是,如果您想在单击按钮时更改“ myString ”的值,然后又想显示新值,则应使用 a<a4j:commandButton/>及其onComplete属性,如下所示。

<a4j:commandButton value="Change" action="#{myBackingBean.changeString()}" oncomplete="alert('#{myBackingBean.myString}');" />
于 2012-04-20T05:13:28.663 回答