AJAX を使用するフォームオブジェクトを作成するためには、こうします:
1 2 | from deform import Form
myform = Form(schema, buttons=('submit',), use_ajax=True)
|
フォームオブジェクトの生成 は、スキーマといくつかのボタンに基づいてフォーム オブジェクトを作成する方法を示しています。AJAX フォームの作成は、 非 AJAX フォームの作成と同じコンストラクタを使用します: フォームオブジェクトの生成 節で提供される例と、上記の AJAX フォームを 作成する例の間の唯一の違いは、フォームコンストラクタに渡された追加の use_ajax=True 引数です。
deform.Form オブジェクトのコンストラクタに use_ajax が True として渡される場合、 submit ボタンが押された時にページが リロードされないようにフォームページがレンダリングされます。代わりに、 フォームは post され、 post の結果はフォーム要素の DOM ノードを置換します。
Deform の AJAX 機能を使用する例は、デモサイト http://deformdemo.repoze.org 上で見られます:
AJAX フォームが動くためには、フォーム自体を含むページのレンダリングに deform.js と jquery.form.js ライブラリが含まれなければならず、 AJAX にフォームを関連させるために deform.load() JavaScript 関数が レンダリングによって呼ばれる必要があることに注意してください。これは フォームを表示するページの責任です。両方のライブラリは deform パッケージ自体の static ディレクトリの中にあります。特定の フォームレンダリングにどの JavaScript ライブラリが必要かを検知する 方法については ウィジェットの要求 (requirement) とリソース を参照してください。