ExtJS4如何给同一个formpanel不同的url

前端技术 2023/09/09 JavaScript
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: [{
fieldLabel: \'First Name\',
name: \'first\',
allowBlank: false
},{
fieldLabel: \'Last Name\',
name: \'last\',
allowBlank: false
}],

// 重置 和 保存 按钮.
buttons: [{
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

这种方法对于组件的重用是一个不错的方法。

本文地址:https://www.stayed.cn/item/25203

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。