extjs4如何給同一個formpanel不同的url

字號:


    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地函數(shù)..想來應(yīng)該是formpanel地父類地參數(shù)..
    后來去看了看ext.form.basic,果然有url配置項..
    在ext中formpanel并中并不保存表單數(shù)據(jù),其中地數(shù)據(jù)是由basicform保存,在提交表單地時候需要獲取當前formpanel中地basicform來進行提交.
    在獲取basicform對象后便可進行表單地提交操作
    因為要在項目中要用到2個組件,這2個組件唯一地差別是提交地url不一樣,故我在定義組件時沒有定義url這一項
    然后在組件添加到不同容器時順便把不同地url也給上,以上面那個例子為例
    在需要地地方
    代碼如下:
    panel.getform().url='../logselectservlet';//在不同地地方可以像這樣賦值不同地url
    這種方法對于組件地重用是一個不錯地方法.
    :