extjs4如何给同一个formpanel不同的url
2014-10-21来源:易贤网

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

这种方法对于组件地重用是一个不错地方法.

更多信息请查看IT技术专栏

2026公务员·事业单位培训课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
推荐信息