ユーザーがテキストを変更し、inputTextがフォーカスを失った(onchange)場合に実行valueChangeListener
したいと思います。p:inputText
これは可能ですか?今のところ、リターンを押した後にのみ実行されます。
質問する
26238 次
1 に答える
20
このvalueChangeListener
メソッドでは、フォーム送信を呼び出す必要があります。これはサーバー側のイベントであり、クライアント側のイベントなどではありません。入力を変更してぼかすだけでは、デフォルトではフォームはまったく送信されません。<p:ajax>
魔法をかけるために持ってきてください。
<p:inputText value="#{bean.inputValue}" valueChangeListener="#{bean.inputChanged}">
<p:ajax />
</p:inputText>
ただし、これが正しい解決策であると考えた具体的な機能要件については何も言わなかったものの、これはあなたが考えてvalueChangeListener
いた仕事にとって間違ったツールであることが多いことを述べておきたいと思います。<p:ajax listener>
代わりに使用してください。
<p:inputText value="#{bean.inputValue}">
<p:ajax listener="#{bean.inputChanged}" />
</p:inputText>
これにより、EL 2.2でメソッド引数を渡すことが可能になり、すぐに他の(実際にはかなり貧弱な)質問の潜在的な基本的な機能要件に答えることに注意してください。
<p:inputText value="#{bean.inputValue}">
<p:ajax listener="#{bean.inputChanged('arg1', 'arg2')}" />
</p:inputText>
また、入力した値に実際に関心がある場合は、これが解決策ではない可能性があることにも注意してください。inputValue
プロパティに直接アクセスできます。
参照:
于 2012-12-20T15:41:04.893 に答える