/* * Ext JS Library 2.2 * Copyright(c) 2006-2008, Ext JS, LLC. * [email protected] * * http://extjs.com/license */ Ext.QuickTips.init(); Ext.onReady(function(){ var fp = new Ext.FormPanel({ id: 'status-form', renderTo: Ext.getBody(), labelWidth: 75, width: 350, buttonAlign: 'right', border: false, bodyStyle: 'padding:10px 10px 0;', defaults: { anchor: '95%', allowBlank: false, selectOnFocus: true, msgTarget: 'side' }, items:[{ xtype: 'textfield', fieldLabel: 'Name', blankText: 'Name is required' },{ xtype: 'datefield', fieldLabel: 'Birthdate', blankText: 'Birthdate is required' }], buttons: [{ text: 'Save', handler: function(){ if(fp.getForm().isValid()){ var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Saving form...'); fp.getEl().mask(); fp.getForm().submit({ url: 'fake.php', success: function(){ sb.setStatus({ text:'Form saved!', iconCls:'', clear: true }); fp.getEl().unmask(); } }); } } }] }); new Ext.Panel({ title: 'StatusBar with Integrated Form Validation', renderTo: Ext.getBody(), width: 350, autoHeight: true, layout: 'fit', items: fp, bbar: new Ext.ux.StatusBar({ id: 'form-statusbar', defaultText: 'Ready', plugins: new Ext.ux.ValidationStatus({form:'status-form'}) }) }); });