⑴ Extjs中重置按鈕獲取不到form,顯示TypeError: this.up(...) is undefined
this.up('form').getForm()中this.up()沒有定義(聲明)(類型錯誤)
查找代碼中哪些地方出現了this.up(),看下是否有相關定義聲明,或者說調用出錯
⑵ extjs4.x如何獲取純html寫的表單數據
表單是用來獲取用戶輸入的一些數據,最常見的就是注冊,登錄之類的;
html5表單數據獲得方法:
1、首先,打開IDEA軟體,並新建一個工程,建好後,右鍵創建一個html5文件,完成後便完成了最開始的工作;
2、接著先熟悉一些較常用的表單標簽:表單<form>, 輸入域<input>,文本域<textarea>,按鈕<button>,域的標題<legend>,控制標簽<label>等。
⑶ ExtJs獲取文本框中值的幾種方式
能想到的只有兩種方式
獲取文本框 , 然後通過文本框獲取值 , 比如 文本框對象是 field
value = field.getValue();
value = field.value; //不推薦
獲取文本框所在form , from獲取整個form的值 , 在獲取對應的field的值
var vs = form.getForm().getValues();
var value = vs["這里是文本框的名稱"];
不知道你是什麼環境會有這個問題....
⑷ 高分請教!java與extjs結合,grid中選中一行數據後,進行form表單提交查詢,怎麼才能拿到所選數據
簡單啊
假設你grid 對象是 grid
var recordtoedit = grid.getSelectionModel().getSelected();
這個就是取到你選中單行的record,選擇多行的不是這個哦
得到這個 record後 直接 record.get("你的屬性名")就可以取到值了
後面如何傳遞值到你的form你需要的話 也可以發消息來咨詢
⑸ extjs怎麼獲取後台的數據或者是變數。。。求大神速回
1. 使用form表單提交
使用表單提交是調用了表單的submit方法,其配置項包括url、method等。這種方式能夠以JSON的形式提交參數信息。
var myform = Ext.create('Ext.form.Panel',{undefined
defaultType: 'textfield',
items:[{undefined
fieldLabel : 'Name',
name : 'name'
},{undefined
fieldLabel: 'Gender',
name : 'gender'
},{undefined
fieldLabel : 'Age',
name: 'age'
}],
buttons: [{undefined
text : 'load',
handler : function(){undefined
this.up('form').getForm().submit({undefined
url: '/request/userinfo',
method : 'POST',
success : function(form, action){undefined
console.log(form);
Ext.Msg.alert('title', 'load success');
});
}]);
2. 使用Ajax非同步提交
將上述handler方法中的內容換成一下代碼即可。在Ajax的request方法中是一個配置對象,其配置參數包括url,type,params。其中params表示要提交的參數,在此例中是從form表單中通過getValues()方法獲得的。該種方式也能將參數一JSON的方式提交到後台,與一個對象匹配。
var values = this.up('form').getForm().getValues();
Ext.Ajax.request({undefined
url:'/request/userinfo',
headers : {undefined'userHeader': 'userMsg'},
type:'POST',
params:values,
success:function(response){undefined
var data = response.responseText;
console.log(data);
console.log("success");
},
});
3. 使用Ext.data.Store
在項目中經常需要通過提交一些數據來從後台獲取相應的信息。例如,在表單中輸入某個人的id和name就可以查出它的相關信息並在前台顯示。一個關於extjs的例子如下:
//data Model
Ext.define('User',{undefined
extend: 'Ext.data.Model',
fields: [{name:'name',type:'string'},
{name:'gender',type:'string'},
{name:'age',type:'string'}
]
});
var userStore = Ext.create('Ext.data.Store',{undefined
model: 'User',
pageSize: 20,
// autoLoad : true,
proxy: {undefined
type : 'ajax', //提交數據的方式
url : '/request/userinfo',
reader : { //以json的形式讀取將要提交的數據
type : 'json',
root : 'resultList'
},
writer : {undefined
type : 'json'
},
actionMethods : {undefined
create : 'POST'
}
},
});
//grid Panel
Ext.create('Ext.grid.Panel',{undefined
store: userStore,
columns: [
{header : 'Name', dataIndex : 'name'},
{header : 'Gender', dataIndex : 'gender'},
{header : 'Age', dataIndex : 'age'}
],
height: 200,
width: 400,
renderTo: 'div2'
});
//form Panel
var myform = Ext.create('Ext.form.Panel',{undefined
defaultType: 'textfield',
items:[{undefined
fieldLabel: 'Name',
name: 'name'
},{undefined
fieldLabel: 'Gender',
name: 'gender'
},{undefined
fieldLabel : 'Age',
name : 'age'
}],
buttons: [{undefined
text: 'load',
handler: function(){undefined
var values = this.up('form').getForm().getValues();
console.log(values);
userStore.proxy.extraParams=values;
userStore.loadPage(1);
}
}
});
在handler方法中獲取form表單的參數後,賦值給userStore.proxy.extraParams,然後調用userStore.loadPage(1)。調用loadPage()方法時,會委託給proxy對象去後台獲取數據。所以對proxy的配置是核心。使用這個方式從後台獲取數據時,後台介面返回的對象應該包括一個List欄位,list中包含所需要的具體信息。比如
@ReponseBody
public UserInfoResp getUserInfo(User user) {undefined
}
UserInfoResp應該像這樣有一個List欄位
class UserInfoResp {undefined
List<User> resulltList;
}