我有一个按钮有动作,可以设置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
错误。我怎样才能解决这个问题?
提前谢谢。
答案 0 :(得分:1)
确保渲染h:outputText(render =“false”可能不会将其添加到DOM。如果它不呈现,则无法访问。如果需要隐藏它,请使用h:输入隐藏)。
然后确保它将HTML标记呈现为或像集合,其id属性为“myForm:myOutput”。
此外,.value javascript访问器用于输入标签,因此请使用inerHTML。
答案 1 :(得分:0)
您无需总是有一个隐藏字段来访问Bean属性。您可以按照以下方式执行此操作。
<h:commandButton value="Show" onclick="alert('#{myBackingBean.myString}');"/>
但是,如果您想要在单击按钮时更改“ myString ”的值,然后想要显示新值,则应使用<a4j:commandButton/>
并使用 onComplete 属性如下。
<a4j:commandButton value="Change" action="#{myBackingBean.changeString()}" oncomplete="alert('#{myBackingBean.myString}');" />