我在名爲:studentId,StudentName,studentLastname的窗口中有3個表單字段。如果我輸入studentID,它應該填充studentname和studentlastname的值。我怎樣才能做到這一點?我知道,我必須使用監聽器,但我不確定,我將如何從數據庫中爲此加載值。它應該是AJAx請求而不是表單提交/重新加載。在Extjs中填充表單字段變化4
請讓我知道你是否知道它。我正在使用Extjs 4和Spring MVC。
謝謝。 Jm
我在名爲:studentId,StudentName,studentLastname的窗口中有3個表單字段。如果我輸入studentID,它應該填充studentname和studentlastname的值。我怎樣才能做到這一點?我知道,我必須使用監聽器,但我不確定,我將如何從數據庫中爲此加載值。它應該是AJAx請求而不是表單提交/重新加載。在Extjs中填充表單字段變化4
請讓我知道你是否知道它。我正在使用Extjs 4和Spring MVC。
謝謝。 Jm
答案應該走多遠?你也期待服務器端代碼?
Ext.define('Student', {
extend: 'Ext.data.Model',
fields: ['id', 'firstName', 'lastName'],
proxy: {
type: 'ajax',
url : 'students'
}
});
然後,一旦你進入一個studentId你可以這樣做:
var iStudent = Ext.ModelManager.getModel('Student');
iStudent.load(studendId, {
success: function(aStudent) {
console.log(aStudent);
// Feed the student details into the form.
}
});
分機是功能豐富並提供多種方式來做你想做的事。如果您不準備花時間學習它的工作原理,那麼最好堅持使用JQuery或其他DOM操縱器,或者甚至可以使用原始的javascript和http請求。
您需要知道的一切都在Sencha Website的API文檔中,有很多示例和指南以及相當不錯的論壇。但有很多東西需要學習。
關於服務器端代碼幾乎沒有什麼信息,它不是Sencha教你Spring的工作。您的服務器需要能夠接受請求,並以Ext可以使用的格式返回簡單的「{success = true}」響應或數據。例如。 XML或JSON。還有一個DIRECT API,但我不建議它爲您的第一個應用程序。
比方說,你想使用一個JSON字符串,您的服務器響應會是這樣的
[{"studentId":12345,"studentFirstName":"John","studentLastName":"Smith"},
{"studentId":12346,"studentFirstName":"Jenny","studentLastName":"Brown"},
{"studentId":12347,"studentFirstName":"Able","studentLastName":"Seaman"}]
您可以使用此通過Ext.Proxy和Ext.Model來填充Ext.Store(見lzhaki的答案)
你的文本框提供給您通過Ext.ComponentManager,您可以使用您的Ext.Component(S)提供的方法來執行類似.setValue()
當你開始分機方法可以是艱苦的工作,它遠遠超出DOM瑪尼你需要了解它是如何工作的,以獲得它爲程序員提供的價值和應用程序的可維護性。
我不需要關於服務器端代碼的任何信息。我只想知道Extjs代碼。我提供了關於我的框架的信息,所以,你可能會明白我的用途。感謝您的信息,我會盡力讓你知道這裏..謝謝! – 2012-08-07 19:46:34