ExtJS是一個基于JavaScript的開源框架,為Web應用提供強大的UI和數(shù)據(jù)交互功能。在Web應用中,表單是非常常見的元素。在ExtJS中,表單可以通過一個叫做Ext.form.Panel的組件來創(chuàng)建。而且,表單也可以使用JSON格式來處理數(shù)據(jù)。下面,我們就來介紹一下使用JSON格式處理ExtJS表單的方法。
Ext.create('Ext.form.Panel', { title: 'Contact Form', bodyPadding: 5, width: 350, url: 'save-form.php', layout: 'anchor', defaults: { anchor: '100%' }, items: [{ xtype: 'textfield', name: 'name', fieldLabel: 'Name', allowBlank: false },{ xtype: 'textfield', name: 'email', fieldLabel: 'Email Address', vtype: 'email', allowBlank: false },{ xtype: 'textareafield', name: 'message', fieldLabel: 'Message', labelAlign: 'top', flex: 1, margin: '0' }], buttons: [{ text: 'Reset', handler: function() { this.up('form').getForm().reset(); } },{ text: 'Submit', formBind: true, disabled: true, handler: function() { var form = this.up('form').getForm(); if (form.isValid()) { form.submit({ success: function(form, action) { Ext.Msg.alert('Success', action.result.msg); }, failure: function(form, action) { Ext.Msg.alert('Failed', action.result.msg); } }); } } }], renderTo: Ext.getBody() });
在表單的items中只需要添加xtype、name、和fieldLabel屬性即可。其中,xtype屬性定義表單項的類型,name屬性定義表單項的名稱,fieldLabel屬性定義表單項的標簽名稱。通過name屬性的值,可以將表單項的值保存在JSON對象中。最后,提交表單數(shù)據(jù)時,只需要將JSON對象轉換成字符串即可。