ExtJS學習筆記3:載入、提交和驗證表單,extjs學習筆記
載入資料
1.比較好用的設定form資料的方法:
formPanel.getForm().setValues([{id: 'FirstName', value: 'Joe'}]);
其中id值為form中field的name屬性值,value為要賦的值
2.通過對象賦值:
Ext.define('Request', {extend: 'Ext.data.Model',fields: ['FirstName','LastName','EmailAddress','TelNumberCode','TelNumber','RequestDetails','RequestType']});var requestModel = Ext.create('Request', requestData);formPanel.getForm().loadRecord(requestModel);
3.也可以通過load方法,從伺服器載入資料:
formPanel.getForm().load({url: 'requestDetails.json'});
提交表單
最簡單的辦法就是調用submit,提交到指定url
var submitForm = function(){formPanel.getForm().submit({url: 'submit.url'});};var formPanel = Ext.create('Ext.form.Panel', {...buttons: [{text: 'Submit Form',handler: submitForm}],items: [...]});
也可以從form擷取對象,調用ajax post方式提交:
var record = formPanel.getForm().getRecord();
驗證表單
通過vtype驗證:
{xtype: 'textfield',fieldLabel: 'Email Address',name: 'EmailAddress',labelAlign: 'top',cls: 'field-margin',columnWidth: 0.6,<strong>vtype: 'email'</strong>}
extjs form表單提交? 在提交之前進行表單驗證?
可以利用vtype進行表單驗證,例如
{
fieldLabel : '電子郵件' ,
name : 'email',
vtype : 'email'
}
extjs內建了一些常見的vtype,你也可以根據需要自己寫vtype
Extjs提交表單到後台Action處理,參數提交不到後台是為何?
params 寫錯了.
你應該改成 manager.name='admin',manager.password='admin'
就好了 login 括弧內不用加變數.
而且 你的manager 要執行個體化出來
private Manager manager=new Manager();