1

Oneevent JavaScript 関数が true または False を返すかどうかを確認するにはどうすればよいですか? 基本的に、私がやろうとしているのは、Javascript の戻り値に基づいてリスナー メソッドの呼び出しを制限することです。

次のコードは、 Firebug で構文エラーを返します。

 <f:ajax event="keyup" render="@form" onevent="return validatePageNumber(event);" listener="#{bean.listenerMethod}"/>

では、どうすれば戻り値を決定でき、それに基づいてリスターメソッドが起動するのでしょうか。よろしくお願いします:)

4

1 に答える 1

5

このonevent属性は、JS スクリプト全体ではなく、JS 関数参照名を指定する必要があります。onevent属性の適切な使用法は次のとおりです。

<f:ajax ... onevent="functionName" />

(はい、かっこなしで!)

function functionName(data) {
    alert(data.status); // Will show 3 times.
}

しかし、それはあなたが考えていた目的に対して明らかに間違ったツールです。はonevent単に3 回呼び出されるリスナー関数を参照する必要があります。適切な実際の使用例については、特にajax 呼び出し <f:ajax> 後に onclick 関数を処理するおよびajax イベントでコマンドボタンを無効/有効にする を参照してください。

onXXX代わりに、親コンポーネントの属性を使用してください(フックしたい場所XXXは正確です)。<f:ajax event>たとえば、次のように仮定します<h:inputText>

<h:inputText ... onkeyup="return validatePageNumber(event)">
     <f:ajax event="keyup" render="@form" />
</h:inputText>
于 2013-02-26T15:23:00.580 に答える