X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/2e847cf21b8ab9d15fa167b315ca5b2fa92638fc..6a7e4474cba9d8be4b2ec445e10f1691f7277c50:/src/widgets/form/Action.js diff --git a/src/widgets/form/Action.js b/src/widgets/form/Action.js index 1bd1ac92..3c8b44a8 100644 --- a/src/widgets/form/Action.js +++ b/src/widgets/form/Action.js @@ -1,6 +1,6 @@ /*! - * Ext JS Library 3.1.1 - * Copyright(c) 2006-2010 Ext JS, LLC + * Ext JS Library 3.2.0 + * Copyright(c) 2006-2010 Ext JS, Inc. * licensing@extjs.com * http://www.extjs.com/license */ @@ -113,6 +113,11 @@ Ext.form.Action.prototype = { * during the time the action is being processed. */ +/** + * @cfg {Boolean} submitEmptyText If set to true, the emptyText value will be sent with the form + * when it is submitted. Defaults to true. + */ + /** * The type of action this Action instance performs. * Currently only "submit" and "load" are supported. @@ -331,10 +336,20 @@ Ext.extend(Ext.form.Action.Submit, Ext.form.Action, { // private run : function(){ - var o = this.options; - var method = this.getMethod(); - var isGet = method == 'GET'; + var o = this.options, + method = this.getMethod(), + isGet = method == 'GET'; if(o.clientValidation === false || this.form.isValid()){ + if (o.submitEmptyText === false) { + var fields = this.form.items, + emptyFields = []; + fields.each(function(f) { + if (f.el.getValue() == f.emptyText) { + emptyFields.push(f); + f.el.dom.value = ""; + } + }); + } Ext.Ajax.request(Ext.apply(this.createCallback(o), { form:this.form.el.dom, url:this.getUrl(isGet), @@ -343,6 +358,13 @@ Ext.extend(Ext.form.Action.Submit, Ext.form.Action, { params:!isGet ? this.getParams() : null, isUpload: this.form.fileUpload })); + if (o.submitEmptyText === false) { + Ext.each(emptyFields, function(f) { + if (f.applyEmptyText) { + f.applyEmptyText(); + } + }); + } }else if (o.clientValidation !== false){ // client validation failed this.failureType = Ext.form.Action.CLIENT_INVALID; this.form.afterAction(this, false); @@ -602,7 +624,7 @@ Ext.form.Action.DirectLoad = Ext.extend(Ext.form.Action.Load, { this.result = result; return result; }, - + success : function(response, trans){ if(trans.type == Ext.Direct.exceptions.SERVER){ response = {}; @@ -734,7 +756,7 @@ Ext.form.Action.DirectSubmit = Ext.extend(Ext.form.Action.Submit, { this.result = result; return result; }, - + success : function(response, trans){ if(trans.type == Ext.Direct.exceptions.SERVER){ response = {};