formpanel は次のように使用できます。API の例:
var panel =Ext.create('Ext.form.Panel', {
title: 'シンプルフォーム',
bodyPadding: 5,
width: 350,
// AJAX を渡します この URL にリクエストを送信します
//url: 'save-form.php',
// フォームフィールド フィールドは縦方向に配置され、幅全体を占めます
layout: 'anchor',
defaults: {
anchor: '100%'
},
// フィールド
defaultType: 'textfield',
items : [{
fieldLabel : '名',
名前: '名',
allowBlank: false
},{
フィールドラベル: '姓',
名前: ' last',
allowBlank : false
}],
// ボタンのリセットと保存: [{
text: 'Reset',
handler: function () {
this.up('form').getForm().reset();
}
}, {
text: 'Save',
formBind: true, / /フォームが有効な場合のみ有効
disabled: true,
handler: function() {
var form = this.up('form').getForm();
if (form. isValid()) {
form.submit({
success: function(form, action) {
Ext.Msg.alert('正常に保存', action.result.msg);
} ,
失敗 : function(form, action) {
Ext.Msg.alert('操作が失敗しました', action.result.msg);
}
}
}
}],
renderTo: Ext.getBody()
);
API を見ると、formpanel には URL 設定がなく、アピ。 。それはformpanelの親クラスのパラメータであるべきだと思います。 。
後で ext.form.basic を見てみると、案の定、URL 設定項目がありました。 。
Ext では、FormPanel は BasicForm によってデータを保存しません。
BasicForm を取得した後、現在の FormPanel で BasicForm を取得する必要があります。オブジェクトはフォームの送信に使用できます
プロジェクトで使用するコンポーネントが 2 つあるため、これら 2 つのコンポーネントの唯一の違いは、送信される URL が異なるため、定義時に URL を定義しませんでした。このアイテム
を追加し、コンポーネントが別のコンテナに追加されるときに、必要に応じて上記の例を使用して別の URL を追加します
panel.getForm().url='../LogSelectServlet';//別の次のように、場所に異なる URL を割り当てることができます。
この方法は、コンポーネントを再利用する良い方法です。