本实例的模板是extjs官方文档的examples/form下的例子 这里有一个样式,来自shared/examples.css,在做东西时导入这个文件,可以更好地布局整个页面 页面效果: ------------------------------------------------------------------------------------------- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www./1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <link rel="stylesheet" type="text/css" href="../../../resources/css/ext-all.css"/> <script type="text/javascript" src="../../../adapter/ext/ext-base.js"></script> <script type="text/javascript" src="../../../ext-all.js"></script> <script type="text/javascript" src="states.js"></script> <script type="text/javascript" src="Dynamic.js"></script> <link rel="stylesheet" type="text/css" href="forms.css"/> <link rel="stylesheet" type="text/css" href="../../shared/examples.css"/> <script type="text/javascript" src="../../shared/examples.js"></script> <script type="text/javascript"> Ext.onReady(function(){ Ext.QuickTips.init(); var bd=Ext.getBody(); /* *======================Form 1========================= */ bd.createChild({tag: 'h2', html: 'Form 1 - Very Simple'}); bd.createChild({html: '单击load按钮,加载数据'}); var reader=new Ext.data.JsonReader({},[ { name:'firstName' }, { name:'lastName' }, { name:'company' }, { name:'email' }, { name:'time' } ]); var simple=new Ext.form.FormPanel({ frame:true, title:'simple form', bodyStyle:'padding:10px 10px 0', labelWidth:75, defaults:{width:230}, width:350, labelAlign:'right', defaultType:'textfield', reader:reader, items:[ { fieldLabel:'first name', name:'firstName', allowBlank:false }, { fieldLabel:'last name', name:'lastName', allowBlank:false }, { fieldLabel:'company', name:'company', allowBlank:false }, { fieldLabel:'email', name:'email', allowBlank:false, vtype:'email' }, { fieldLabel:'time', name:'time', allowBlank:false, xtype:'timefield', minValue:'8:00 am', maxValue:'6:00 pm', } ], buttons:[ { text:'Save' }, { text:'Load', handler:function(){ simple.getForm().load({url:'simple.txt'}); } } ] }); simple.render(document.body); /* *===========================Form 2========================= */ bd.createChild({tag:'h2',html:'Form2 - Adding fieldset'}); var fsf=new Ext.form.FormPanel({ labelWidth:75, labelAlign:'left', frame:true, bodyStyle:'padding:5px 5px 0', width:350, title:'Simple form width fieldset', items:[{ xtype:'fieldset', checkboxToggle:true, title: 'User Information', collapsed: true, defaults:{width:210}, defaultType:'textfield', items:[ { fieldLabel:'first name', name:'firstName', allowBlank:false }, { fieldLabel:'last name', name:'lastName', allowBlank:false }, { fieldLabel:'company', name:'company', allowBlank:false }, { fieldLabel:'email', name:'email', allowBlank:false, vtype:'email' } ] },{ xtype:'fieldset', title: 'Phone Number', collapsible: true, defaults:{width:210}, autoHeight:true, defaultType:'textfield', items:[ { fieldLabel:'Home', name:'Home', value:'021-123456' }, { fieldLabel:'Business', name:'business' }, { fieldLabel:'Model', name:'model' }, { fieldLabel:'Fax', name:'fax' } ] }], buttons:[ { text:'Save', }, { text:'Cancel', } ] }); fsf.render(document.body); /* *===========================Form 3=================================== */ bd.createChild({tag:'h2',html:'Form3 - A little more complex'}); var top=new Ext.form.FormPanel({ title:'A little more complex', frame:true, width:600, labelWidth:75, labelAlign:'top', bodyStyle:'padding:5px 5px 0', items:[ { layout:'column', items:[ { columnWidth:.5, layout:'form', items:[ { fieldLabel:'First Name', name:'firstName', xtype:'textfield', anchor:'90%' }, { fieldLabel:'Last Name', name:'lastName', xtype:'textfield', anchor:'90%' } ] },{ columnWidth:.5, layout:'form', defaultType:'textfield', items:[ { fieldLabel:'Company', name:'company', xtype:'textfield', anchor:'90%', },{ fieldLabel:'Email', vtype:'email', name:'email', anchor:'90%' } ] } ] },new Ext.form.HtmlEditor({ fieldLabel:'htmlEditor', anchor:'98%' }) ] }); top.render(document.body); /* *===========================Form 4=================================== *这里frame:false */ bd.createChild({tag:'h2',html:'Form can be a tabpanel....'}); var tabs=new Ext.FormPanel({ labelWidth: 75, border:false, //frame:true, width: 350, //title:'Form can be a tabpanel', items:[ { xtype:'tabpanel',//注意tabpanel只是一种类型,不是布局方式 activeTab:0, defaults:{autoHeight:true, bodyStyle:'padding:10px'}, items:[ { title:'Personal Detail', layout:'form', defaults:{width:230}, defaultType:'textfield', items: [{ fieldLabel: 'First Name', name: 'first', allowBlank:false, value: 'Jack' },{ fieldLabel: 'Last Name', name: 'last', value: 'Slocum' },{ fieldLabel: 'Company', name: 'company', value: 'Ext JS' }, { fieldLabel: 'Email', name: 'email', vtype:'email' }] } ,{ title:'Phone Number', defaults:{width:230}, defaultType:'textfield', layout:'form', items:[ { fieldLabel:'Home', name:'Home' }, { fieldLabel:'Businiess', name:'business' }, { fieldLabel:'Mobel', name:'mobel' }, { fieldLabel:'Fax', name:'fax' } ] } ] } ], buttons:[ { text:'Save' },{ text:'Cancel' } ] }); tabs.render(document.body); /* *======================================Form 5=========================================== */ bd.createChild({tag: 'h2', html: 'Form 5 - ... and forms can contain TabPanel(s)'}); var tab2=new Ext.form.FormPanel({ title:'inner tabs', frame:true, width:600, items:[ { layout:'column', labelAlign:'top', labelWidth:75, items:[ { layout:'form', columnWidth:.5, defaultType:'textfield', items:[ { fieldLabel:'First Name', name:'firstName', anchor:'90%' },{ fieldLabel:'Company', name:'company', anchor:'90%' } ] },{ layout:'form', columnWidth:.5, defaultType:'textfield', items:[ { fieldLabel:'Last Name', name:'lastName', anchor:'90%' },{ fieldLabel:'email', name:'email', anchor:'90%' } ] } ] },{ xtype:'tabpanel', activeTab:0, defaults:{autoHeight:true,bodyStyle:'padding:10px'}, items:[ { layout:'form', title:'Personal Detail', defaults:{width:430}, defaultType:'textfield', labelAlign:'top', items:[ { fieldLabel:'First Name', name:'firstName' }, { fieldLabel:'Last Name', name:'lastName' }, { fieldLabel:'Company', name:'company' }, { fieldLabel:'Email', name:'email', vtype:'email' } ] },{ layout:'form', title:'Phone Number', defaults:{width:430}, defaultType:'textfield', items:[ { fieldLabel:'Home', name:'home' },{ fieldLabel:'Business', name:'business', },{ fieldLabel:'Mobile', name:'mobile' },{ fieldLabel:'Fax', name:'fax' } ] },{ layout:'fit', title:'biography', labelAlign:'top', defaultType:'textfield', width:590, items:[ new Ext.form.HtmlEditor({ }) ] } ] } ] }); tab2.render(document.body); }); </script> </head> <body> <div>用于显示基本的form表单实例,该实例在extjs官方文档中有,只是作为例子实践</div> </body> </html> |
|