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タグが「myForm:myOutput」としてid属性を持つコンテナとしてレンダリングされるか、コンテナのように動作することを確認します。

また、入力タグには.value javascript accesorが使用されるため、代わりにinerHTMLを使用してください。

于 2012-04-19T18:53:02.903 に答える
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}');" />
于 2012-04-20T05:13:28.663 に答える