EditableLabel という新しいコンポーネントを作成したいと思います。(AjaxEditableLabel がありますが、その動作が好きではありませ<span>
ん<input>
。
少なくとも onchange で、AJAX 対応にしたいのですが。ただし、ユーザーは AJAX を省略できる必要があります。理想的には、彼はBehavior
.
私の実装は CSS ベースです。これは常に入力であり、外観を変更するだけです。これは JavaScript を介して行われるため、AJAX なしでも使用できます。
これまでのところ、私は試しました
onRequest() で使用
AbstractAjaxBehavior
するrequestCycle.scheduleRequestHandlerAfterCurrent(new TextRequestHandler("text/plain", "UTF-8", ret));
と、テキスト フィールドはvalue
適切なときに送信します (Enter が押された、フォーカスが失われたなど)。ここでの問題は、AjaxRequestTarget を使用できないことです。このアプローチは、オートコンプリートなどの単純なサーバーとクライアントの通信用です。
単純に
TextField
withを使用しAjaxFormComponentUpdatingBehavior("update")
ます。問題は、JavaScript イベント ハンドラーと競合することです。
これに対する正しいアプローチは何でしょうか?サーバーの応答に依存する CSS の変更を行わないように (つまり、サーバーが送信するものを再レンダリングしないように)、JavaScript イベント ハンドラーを wicket でコーディングする方法があると思いますが、Wicket はイベントが衝突しないように JS を作成します。
このトピックに関する例を歓迎します。