0

codeAddress()からのデータを処理し、addressと の値を更新する js 関数がfullAddressありますvalidField。バッキング Beanのデータとバッキング Bean にデータを渡そ
うとしましたが、セッター メソッドが 1 リクエスト遅れて呼び出されるようです。<p:ajax>fullAddressvalidField

<h:form id="addressForm">
    <p:inputText id="address">
        <p:ajax onstart="codeAddress()" process="fullAddress validField"/>
    </p:inputText>
    <p:commandButton value="submit" />
    <p:inputText id="fullAddress" value="#{addressBean.fullAddress}" />
    <p:inputText id="validField" value="#{addressBean.valid}" />
</h:form>
4

1 に答える 1

2

は、ajax リクエストが送信される直前にonstart呼び出されます。その時点で、ajax リクエストはすでに長い間準備されています。したがって、変更された入力値を考慮に入れるには遅すぎます。

代わりに、入力コンポーネントのonchange属性を使用することをお勧めします。ajax リクエストが準備される前に呼び出されます。

<p:inputText id="address" onchange="codeAddress()">
    <p:ajax process="fullAddress validField"/>
</p:inputText>
于 2013-02-13T13:29:41.503 に答える