私は、a4j:jsFunction タグ (RichFaces 4.1 を使用) を含む列を含む、ページ付けされた OpenFaces 3 データテーブル (テーブルの下のファセット内で o:dataTablePaginator を使用) を持っており、(別の名前の) JavaScript 関数を作成します。テーブル。テーブルを含む JSF 2.1 ページは、アプリケーション内で Glassfish 3.1 にデプロイされています。
テーブルの次のページ アイコンをクリックすると、AJAX 経由でデータ テーブルを更新できず、ページの右上隅に OpenFaces AJAX の「読み込み中...」メッセージ (「回転中」のひし形) が表示されたままになります。Firebug では、影響を受ける ajaxUtil.js の 344 行目で、OpenFaces AJAX Post の結果がエラーになることがわかります。
TypeError: xml.getElementsByTagName("partial-response")[0] is undefined
var childNodes = xml.getElementsByTagName("partial-response")[0].childNodes;
および IE 開発者ツールの次のエラー:
SCRIPT5007: Unable to get value of the property 'childNodes'
: object is null or undefined
これを除いて、問題の原因となっているデータテーブル内の他のすべてのタグを排除することができました。
<a4j:jsFunction id="cellUpdateFunction#{rowIndex}"
name="updateCellStr#{rowIndex}"
data="#{backingBean.getStrForRow(rowIndex)}" execute="@this"
oncomplete="setCellText(#{rowIndex}, event.data);"/>
これにより、(テーブルの各行の) 列セルに JavaScript 関数が作成されます。この関数は、呼び出されると、バッキング Bean 内のセル用に格納された文字列でセル内のテキストを更新します。
これが既知の問題であり、私が見つけられなかった回避策があるかどうかを知っている人はいますか? そうでなければ、OpenFaces コンポーネントのみを使用しても OpenFaces データテーブルを更新する AJAX 呼び出しが中断されないと予想されるため、OpenFaces AJAX で同様の機能を作成するにはどうすればよいでしょうか?
助けてくれてありがとう。