var newMessageWindow; Ext.onReady(function(){ Ext.QuickTips.init(); Ext.form.Field.prototype.msgTarget = 'side'; // turn on validation errors beside the field globally var dataCategory = Ext.data.Record.create([ {name: 'name', type: 'string'}, {name: 'from', type: 'string'} ]); var newMessageForm = new Ext.FormPanel({ // title: 'Neue Nachricht', waitMsgTarget: true, loadMask: true, monitorValid:true, listeners: { }, frame:true, width: 300, autoheight: true, labelAlign: 'top', items: [ { id: 'messageSubject', fieldLabel: 'Betreff', name: 'subject', xtype: 'textfield', width: 280, maxLength: 30, maxLengthText: 'Bitte verwenden Sie 30 oder weniger Zeichen.', allowBlank: false, blankText: 'Bitte verwenden Sie 10 oder mehr Zeichen.' }, { id: 'messageBody', fieldLabel: 'Inhalt', name: 'body', xtype: 'textarea', width: 280, height: 100, maxLength: 500, minLength: 10, maxLengthText: 'Bitte verwenden Sie 500 oder weniger Zeichen.', minLengthText: 'Bitte verwenden Sie 10 oder mehr Zeichen.', allowBlank: false, blankText: 'Bitte verwenden Sie 10 oder mehr Zeichen.' }, { id: 'messageTo', name: 'hidden', xtype: 'hidden' } ], buttons:[{ text: "Nachricht senden", id: "buttonOK", type: "submit", formBind:true, handler: function() { updateWithAjax(); } }] }); // create the window if(!newMessageWindow){ newMessageWindow = new Ext.Window({ //el:' ', title: "Neue Nachricht", layout:'fit', width:500, height:300, closeAction:'hide', plain: true, items: [ newMessageForm ], /* buttons: [{ text:'Submit', disabled:true },{ text: 'Close', handler: function(){ } }] */ handler: function(){ newMessageWindow.hide(); } }); } //newMessageWindow.show(this); function updateWithAjax() { var subject=newMessageForm.findById('messageSubject').getValue() ; var body=newMessageForm.findById('messageBody').getValue() ; var to=newMessageForm.findById('messageTo').getValue() ; newMessageForm.disable(); Ext.Ajax.request({ url: 'xml.php', method: 'POST', params: { type: 'saveMessage', subject: subject, body: body, to: to }, success: function (response,options) { newMessageForm.enable(); var errorMsg=""; var errorMsgObject=response.responseXML.getElementsByTagName("errormsg"); if (errorMsgObject[0].firstChild) errorMsg=errorMsgObject[0].firstChild.data; if (errorMsg.length > 0) { Ext.MessageBox.alert('Fehler beim Senden der Nachricht',errorMsg); } else { newMessageWindow.hide(); Ext.slide.msg('Nachricht gesendet.','Deine Nachricht wurde verschickt.'); store.load(); } }, failure: function ( result, request) { Ext.MessageBox.alert('Failure', Failure); } }); } });