123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- Ext.require([
- 'Ext.form.*',
- 'Ext.tip.QuickTipManager'
- ]);
- Ext.onReady(function() {
- var required = '<span style="color:red;font-weight:bold" data-qtip="Required">*</span>';
- var win;
- Ext.QuickTips.init();
- function showContactForm() {
- if (!win) {
- var form = Ext.widget('form', {
- layout: {
- type: 'vbox',
- align: 'stretch'
- },
- border: false,
- bodyPadding: 10,
- fieldDefaults: {
- labelAlign: 'top',
- labelWidth: 100,
- labelStyle: 'font-weight:bold'
- },
- items: [{
- xtype: 'fieldcontainer',
- fieldLabel: 'Your Name',
- labelStyle: 'font-weight:bold;padding:0',
- layout: 'hbox',
- defaultType: 'textfield',
- fieldDefaults: {
- labelAlign: 'top'
- },
- items: [{
- flex: 1,
- name: 'firstName',
- afterLabelTextTpl: required,
- fieldLabel: 'First',
- allowBlank: false
- }, {
- width: 30,
- name: 'middleInitial',
- fieldLabel: 'MI',
- margins: '0 0 0 5'
- }, {
- flex: 2,
- name: 'lastName',
- afterLabelTextTpl: required,
- fieldLabel: 'Last',
- allowBlank: false,
- margins: '0 0 0 5'
- }]
- }, {
- xtype: 'textfield',
- fieldLabel: 'Your Email Address',
- afterLabelTextTpl: required,
- vtype: 'email',
- allowBlank: false
- }, {
- xtype: 'textfield',
- fieldLabel: 'Subject',
- afterLabelTextTpl: required,
- allowBlank: false
- }, {
- xtype: 'textareafield',
- fieldLabel: 'Message',
- labelAlign: 'top',
- flex: 1,
- margins: '0',
- afterLabelTextTpl: required,
- allowBlank: false
- }],
- buttons: [{
- text: 'Cancel',
- handler: function() {
- this.up('form').getForm().reset();
- this.up('window').hide();
- }
- }, {
- text: 'Send',
- handler: function() {
- if (this.up('form').getForm().isValid()) {
- // In a real application, this would submit the form to the configured url
- // this.up('form').getForm().submit();
- this.up('form').getForm().reset();
- this.up('window').hide();
- Ext.MessageBox.alert('Thank you!', 'Your inquiry has been sent. We will respond as soon as possible.');
- }
- }
- }]
- });
- win = Ext.widget('window', {
- title: 'Contact Us',
- closeAction: 'hide',
- width: 400,
- height: 400,
- layout: 'fit',
- resizable: true,
- modal: true,
- items: form
- });
- }
- win.show();
- }
- var mainPanel = Ext.widget('panel', {
- renderTo: Ext.getBody(),
- title: 'Welcome!',
- width: 500,
- bodyPadding: 20,
- items: [{
- xtype: 'component',
- html: 'Thank you for visiting our site! We welcome your feedback; please click the button below to ' +
- 'send us a message. We will respond to your inquiry as quickly as possible.',
- style: 'margin-bottom: 20px;'
- }, {
- xtype: 'container',
- style: 'text-align:center',
- items: [{
- xtype: 'button',
- cls: 'contactBtn',
- scale: 'large',
- text: 'Contact Us',
- handler: showContactForm
- }]
- }]
- });
- });
|