首頁 >web前端 >js教程 >ExtJS4如何給同一個formpanel不同的url_extjs

ExtJS4如何給同一個formpanel不同的url_extjs

WBOY
WBOY原創
2016-05-16 16:50:251289瀏覽

formpanel可以這樣使用,api上的範例:

複製程式碼 程式碼如下:


程式碼如下:


var panel =Ext.create('Ext.form.Panel', {
title: 'Simple Form',
bodyPadding: 5,
width: 350,

// 將會通過AJAX請求提交到此URL
//url: 'save-form.php',

// 表單域Fields 將被垂直排列, 佔滿整個寬度
layout: 'anchor',
defaults: {
anchor: '100%'
},

// The fields
defaultType: 'textfield',
items: [{
defaultType: 'textfield',
items: [{
fieldLabel : 'First Name',
name: 'first',
allowBlank: false
},{
fieldLabel: 'Last Name',
name: 'lasti',
Blallow : false
}],

// 重設與儲存按鈕.
buttons: [{
text: '重設',
handler: function() {
text: '重設',
handler: function() {
this.up('form').getForm().reset();
}
}, {
text: '儲存',
formBind: true, //only enabled once the form is valid
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);
},
failure : function(form, action) {
Ext.Msg.alert('操作失敗', action.result.msg);
}
});
}
}
}
}],
renderTo: Ext.getBody()
);


再看API,formpanel竟然沒有url的配置,也沒有得到api的函數。 。想來應該是formpanel的父類別的參數。 。

後來去看了看ext.form.basic,果然有url配置項。 。

在Ext中FormPanel併中並不保存表單數據,其中的數據是由BasicForm保存,在提交表單的時候需要獲取當前FormPanel中的BasicForm來進行提交.
在獲取BasicForm物件後便可進行表單的提交操作因為要在專案中要用到2個元件,這2個元件唯一的差別是提交的url不一樣,故我在定義元件時沒有定義url這一項然後在組件加入不同容器時順便把不同的url也給上,以上面那個例子為例
在需要的地方



複製程式碼 程式碼如下: panel.getForm().url='../LogSelectServlet';//在不同的地方可以像這樣賦值不同的URL 這種方法對於組件的重用是一個不錯的方法。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn