ホームページ  >  記事  >  ウェブフロントエンド  >  ExtJS4で同じフォームパネルに異なるurl_extjsを与える方法

ExtJS4で同じフォームパネルに異なるurl_extjsを与える方法

WBOY
WBOYオリジナル
2016-05-16 16:50:251238ブラウズ

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 を割り当てることができます。


この方法は、コンポーネントを再利用する良い方法です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。