Ext JS 4.0.7 Sencha Docs

Ext.form.action.Submit

Alternate names

Ext.form.Action.Submit

Hierarchy

Ext.Base
Ext.form.action.Action
Ext.form.action.Submit

Subclasses

Files

A class which handles submission of data from Forms and processes the returned response.

Instances of this class are only created by a Form when submitting.

Response Packet Criteria

A response packet may contain:

  • success property : Boolean
    The success property is required.
  • errors property : Object
    The errors property, which is optional, contains error messages for invalid fields.

JSON Packets

By default, response packets are assumed to be JSON, so a typical response packet may look like this:

{
    success: false,
    errors: {
        clientCode: "Client not found",
        portOfLoading: "This field must not be null"
    }
}

Other data may be placed into the response for processing by the Ext.form.Basic's callback or event handler methods. The object decoded from this JSON is available in the result property.

Alternatively, if an errorReader is specified as an XmlReader:

    errorReader: new Ext.data.reader.Xml({
            record : 'field',
            success: '@success'
        }, [
            'id', 'msg'
        ]
    )

then the results may be sent back in XML format:

<?xml version="1.0" encoding="UTF-8"?>
<message success="false">
<errors>
    <field>
        <id>clientCode</id>
        <msg><![CDATA[Code not found. <br /><i>This is a test validation message from the server </i>]]></msg>
    </field>
    <field>
        <id>portOfLoading</id>
        <msg><![CDATA[Port not found. <br /><i>This is a test validation message from the server </i>]]></msg>
    </field>
</errors>
</message>

Other elements may be placed into the response XML for processing by the Ext.form.Basic's callback or event handler methods. The XML document is available in the errorReader's xmlData property.

Available since: 1.1.0

Defined By

Config options

Ext.form.action.Submit
view source
: Boolean
Determines whether a Form's fields are validated in a final call to isValid prior to submission. ...

Determines whether a Form's fields are validated in a final call to isValid prior to submission. Pass false in the Form's submit options to prevent this. Defaults to true.

Available since: 1.1.0

The function to call when a failure packet was received, or when an error ocurred in the Ajax communication. ...

The function to call when a failure packet was received, or when an error ocurred in the Ajax communication. The function is passed the following parameters:

Available since: 1.1.0

The BasicForm instance that is invoking this Action. ...

The BasicForm instance that is invoking this Action. Required.

Available since: 4.0.0

Extra headers to be sent in the AJAX request for submit and load actions. ...

Extra headers to be sent in the AJAX request for submit and load actions. See Ext.data.proxy.Ajax.headers.

Available since: 4.0.0

The HTTP method to use to access the requested URL. ...

The HTTP method to use to access the requested URL. Defaults to the BasicForm's method, or 'POST' if not specified.

Available since: 1.1.0

Extra parameter values to pass. ...

Extra parameter values to pass. These are added to the Form's Ext.form.Basic.baseParams and passed to the specified URL along with the Form's input fields.

Parameters are encoded as standard HTTP parameters using Ext.Object.toQueryString.

Available since: 1.1.0

When set to true, causes the Form to be reset on Action success. ...

When set to true, causes the Form to be reset on Action success. If specified, this happens before the success callback is called and before the Form's actioncomplete event fires.

Available since: 2.3.0

The scope in which to call the configured success and failure callback functions (the this reference for the callback...

The scope in which to call the configured success and failure callback functions (the this reference for the callback functions).

Available since: 2.3.0

If set to true, the emptyText value will be sent with the form when it is submitted. ...

If set to true, the emptyText value will be sent with the form when it is submitted. Defaults to true.

Defaults to: true

Available since: 3.4.0

The function to call when a valid success return packet is received. ...

The function to call when a valid success return packet is received. The function is passed the following parameters:

Available since: 1.1.0

The number of seconds to wait for a server response before failing with the failureType as CONNECT_FAILURE. ...

The number of seconds to wait for a server response before failing with the failureType as CONNECT_FAILURE. If not specified, defaults to the configured timeout of the form.

Available since: 2.3.0

The URL that the Action is to invoke. ...

The URL that the Action is to invoke. Will default to the url configured on the form.

Available since: 1.1.0

The message to be displayed by a call to Ext.window.MessageBox.wait during the time the action is being processed.

The message to be displayed by a call to Ext.window.MessageBox.wait during the time the action is being processed.

Available since: 1.1.0

The title to be displayed by a call to Ext.window.MessageBox.wait during the time the action is being processed.

The title to be displayed by a call to Ext.window.MessageBox.wait during the time the action is being processed.

Available since: 1.1.0

Defined By

Properties

Available since: 4.0.0

The type of failure detected will be one of these: CLIENT_INVALID, SERVER_INVALID, CONNECT_FAILURE, or LOAD_FAILURE. ...

The type of failure detected will be one of these: CLIENT_INVALID, SERVER_INVALID, CONNECT_FAILURE, or LOAD_FAILURE. Usage:

var fp = new Ext.form.Panel({
...
buttons: [{
    text: 'Save',
    formBind: true,
    handler: function(){
        if(fp.getForm().isValid()){
            fp.getForm().submit({
                url: 'form-submit.php',
                waitMsg: 'Submitting your data...',
                success: function(form, action){
                    // server responded with success = true
                    var result = action.result;
                },
                failure: function(form, action){
                    if (action.failureType === CONNECT_FAILURE) {
                        Ext.Msg.alert('Error',
                            'Status:'+action.response.status+': '+
                            action.response.statusText);
                    }
                    if (action.failureType === SERVER_INVALID){
                        // server responded with success = false
                        Ext.Msg.alert('Invalid', action.result.errormsg);
                    }
                }
            });
        }
    }
},{
    text: 'Reset',
    handler: function(){
        fp.getForm().reset();
    }
}]

Available since: 1.1.0

The raw XMLHttpRequest object used to perform the action.

The raw XMLHttpRequest object used to perform the action.

Available since: 1.1.0

The decoded response object containing a boolean success property and other, action-specific properties.

The decoded response object containing a boolean success property and other, action-specific properties.

Available since: 1.1.0

Get the reference to the current class from which this object was instantiated. ...

Get the reference to the current class from which this object was instantiated. Unlike statics, this.self is scope-dependent and it's meant to be used for dynamic inheritance. See statics for a detailed comparison

Ext.define('My.Cat', {
    statics: {
        speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
    },

    constructor: function() {
        alert(this.self.speciesName); / dependent on 'this'

        return this;
    },

    clone: function() {
        return new this.self();
    }
});


Ext.define('My.SnowLeopard', {
    extend: 'My.Cat',
    statics: {
        speciesName: 'Snow Leopard'         // My.SnowLeopard.speciesName = 'Snow Leopard'
    }
});

var cat = new My.Cat();                     // alerts 'Cat'
var snowLeopard = new My.SnowLeopard();     // alerts 'Snow Leopard'

var clone = snowLeopard.clone();
alert(Ext.getClassName(clone));             // alerts 'My.SnowLeopard'

Available since: 4.0.0

Ext.form.action.Submit
view source
: String
The type of action this Action instance performs. ...

The type of action this Action instance performs. Currently only "submit" and "load" are supported.

Defaults to: 'submit'

Available since: 1.1.0

Overrides: Ext.form.action.Action.type

Methods

Defined By

Instance Methods

Creates new Action. ...

Creates new Action.

Available since: 4.0.0

Parameters

  • config : Object (optional)

    Config object.

Returns

...

Available since: 4.0.6

Parameters

Returns

Ext.form.action.Submit
view source
( ) : Objectprivate
Build a form element containing fields corresponding to all the parameters to be submitted (everything returned by ge...

Build a form element containing fields corresponding to all the parameters to be submitted (everything returned by getParams. NOTE: the form element is automatically added to the DOM, so any code that uses it must remove it from the DOM after finishing with it.

Available since: 4.0.0

Returns

Call the original method that was previously overridden with override Ext.define('My.Cat', { constructor: functi...

Call the original method that was previously overridden with override

Ext.define('My.Cat', {
    constructor: function() {
        alert("I'm a cat!");

        return this;
    }
});

My.Cat.override({
    constructor: function() {
        alert("I'm going to be a cat!");

        var instance = this.callOverridden();

        alert("Meeeeoooowwww");

        return instance;
    }
});

var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
                          // alerts "I'm a cat!"
                          // alerts "Meeeeoooowwww"

Available since: 4.0.0

Parameters

  • args : Array/Arguments

    The arguments, either an array or the arguments object

Returns

  • Object

    Returns the result after calling the overridden method

Call the parent's overridden method. ...

Call the parent's overridden method. For example:

Ext.define('My.own.A', {
    constructor: function(test) {
        alert(test);
    }
});

Ext.define('My.own.B', {
    extend: 'My.own.A',

    constructor: function(test) {
        alert(test);

        this.callParent([test + 1]);
    }
});

Ext.define('My.own.C', {
    extend: 'My.own.B',

    constructor: function() {
        alert("Going to call parent's overriden constructor...");

        this.callParent(arguments);
    }
});

var a = new My.own.A(1); // alerts '1'
var b = new My.own.B(1); // alerts '1', then alerts '2'
var c = new My.own.C(2); // alerts "Going to call parent's overriden constructor..."
                         // alerts '2', then alerts '3'

Available since: 4.0.0

Parameters

  • args : Array/Arguments

    The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments)

Returns

  • Object

    Returns the result from the superclass' method

Creates a callback object. ...

Creates a callback object.

Available since: 4.0.0

Ext.form.action.Submit
view source
( )private
Perform the submit of the form data. ...

Perform the submit of the form data.

Available since: 4.0.0

Determine the HTTP method to be used for the request. ...

Determine the HTTP method to be used for the request.

Available since: 4.0.0

Returns

Ext.form.action.Submit
view source
( )private
Build the full set of parameters from the field values plus any additional configured params. ...

Build the full set of parameters from the field values plus any additional configured params.

Available since: 4.0.0

Overrides: Ext.form.action.Action.getParams

Build the URL for the AJAX request. ...

Build the URL for the AJAX request. Used by the standard AJAX submit and load actions.

Available since: 4.0.0

Returns

Ext.form.action.Submit
view source
( response )private
...

Available since: 4.0.0

Parameters

Overrides: Ext.form.action.Action.handleResponse

( config ) : Objectchainableprotected
Initialize configuration for this class. ...

Initialize configuration for this class. a typical example:

Ext.define('My.awesome.Class', {
    // The default config
    config: {
        name: 'Awesome',
        isAwesome: true
    },

    constructor: function(config) {
        this.initConfig(config);

        return this;
    }
});

var awesome = new My.awesome.Class({
    name: 'Super Awesome'
});

alert(awesome.getName()); // 'Super Awesome'

Available since: 4.0.0

Parameters

Returns

  • Object

    mixins The mixin prototypes as key - value pairs

( name, cls )private
Used internally by the mixins pre-processor ...

Used internally by the mixins pre-processor

Available since: 4.0.6

Parameters

Handles a failure response. ...

Handles a failure response.

Available since: 4.0.0

Parameters

Ext.form.action.Submit
view source
( response )private
...

Available since: 4.0.0

Parameters

Overrides: Ext.form.action.Action.onSuccess

( name, value )private
...

Available since: 4.0.6

Parameters

( name, fn )private
...

Available since: 4.0.0

Parameters

Validates that a response contains either responseText or responseXML and invokes handleResponse to build the result ...

Validates that a response contains either responseText or responseXML and invokes handleResponse to build the result object.

Available since: 4.0.0

Parameters

  • response : Object

    The raw response object.

Returns

  • Object/Boolean

    result The result object as built by handleResponse, or true if

                        the response had empty responseText and responseXML.
    
Ext.form.action.Submit
view source
( )
inherit docs Invokes this action using the current configuration. ...

inherit docs

Invokes this action using the current configuration.

Available since: 4.0.0

Overrides: Ext.form.action.Action.run

( config ) : Ext.Basechainableprivate
...

Available since: 4.0.0

Parameters

Returns

Get the reference to the class from which this object was instantiated. ...

Get the reference to the class from which this object was instantiated. Note that unlike self, this.statics() is scope-independent and it always returns the class from which it was called, regardless of what this points to during run-time

Ext.define('My.Cat', {
    statics: {
        totalCreated: 0,
        speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
    },

    constructor: function() {
        var statics = this.statics();

        alert(statics.speciesName);     // always equals to 'Cat' no matter what 'this' refers to
                                        // equivalent to: My.Cat.speciesName

        alert(this.self.speciesName);   // dependent on 'this'

        statics.totalCreated++;

        return this;
    },

    clone: function() {
        var cloned = new this.self;                      // dependent on 'this'

        cloned.groupName = this.statics().speciesName;   // equivalent to: My.Cat.speciesName

        return cloned;
    }
});


Ext.define('My.SnowLeopard', {
    extend: 'My.Cat',

    statics: {
        speciesName: 'Snow Leopard'     // My.SnowLeopard.speciesName = 'Snow Leopard'
    },

    constructor: function() {
        this.callParent();
    }
});

var cat = new My.Cat();                 // alerts 'Cat', then alerts 'Cat'

var snowLeopard = new My.SnowLeopard(); // alerts 'Cat', then alerts 'Snow Leopard'

var clone = snowLeopard.clone();
alert(Ext.getClassName(clone));         // alerts 'My.SnowLeopard'
alert(clone.groupName);                 // alerts 'Cat'

alert(My.Cat.totalCreated);             // alerts 3

Available since: 4.0.0

Returns

Defined By

Static Methods

( members ) : Ext.Basechainablestatic
Add / override static properties of this class. ...

Add / override static properties of this class.

Ext.define('My.cool.Class', {
    ...
});

My.cool.Class.addStatics({
    someProperty: 'someValue',      // My.cool.Class.someProperty = 'someValue'
    method1: function() { ... },    // My.cool.Class.method1 = function() { ... };
    method2: function() { ... }     // My.cool.Class.method2 = function() { ... };
});

Available since: 4.0.2

Parameters

Returns

( fromClass, members ) : Ext.Basechainablestatic
Borrow another class' members to the prototype of this class. ...

Borrow another class' members to the prototype of this class.

Ext.define('Bank', {
    money: '$$$',
    printMoney: function() {
        alert('$$$$$$$');
    }
});

Ext.define('Thief', {
    ...
});

Thief.borrow(Bank, ['money', 'printMoney']);

var steve = new Thief();

alert(steve.money); // alerts '$$$'
steve.printMoney(); // alerts '$$$$$$$'

Available since: 4.0.2

Parameters

  • fromClass : Ext.Base

    The class to borrow members from

  • members : String/String[]

    The names of the members to borrow

Returns

Create a new instance of this Class. ...

Create a new instance of this Class.

Ext.define('My.cool.Class', {
    ...
});

My.cool.Class.create({
    someConfig: true
});

All parameters are passed to the constructor of the class.

Available since: 4.0.2

Returns

( alias, origin )static
Create aliases for existing prototype methods. ...

Create aliases for existing prototype methods. Example:

Ext.define('My.cool.Class', {
    method1: function() { ... },
    method2: function() { ... }
});

var test = new My.cool.Class();

My.cool.Class.createAlias({
    method3: 'method1',
    method4: 'method2'
});

test.method3(); // test.method1()

My.cool.Class.createAlias('method5', 'method3');

test.method5(); // test.method3() -> test.method1()

Available since: 4.0.2

Parameters

Get the current class' name in string format. ...

Get the current class' name in string format.

Ext.define('My.cool.Class', {
    constructor: function() {
        alert(this.self.getName()); // alerts 'My.cool.Class'
    }
});

My.cool.Class.getName(); // 'My.cool.Class'

Available since: 4.0.4

Returns

Add methods / properties to the prototype of this class. ...

Add methods / properties to the prototype of this class.

Ext.define('My.awesome.Cat', {
    constructor: function() {
        ...
    }
});

 My.awesome.Cat.implement({
     meow: function() {
        alert('Meowww...');
     }
 });

 var kitty = new My.awesome.Cat;
 kitty.meow();

Available since: 4.0.2

Parameters

( members ) : Ext.Basechainablestatic
Override prototype members of this class. ...

Override prototype members of this class. Overridden methods can be invoked via callOverridden

Ext.define('My.Cat', {
    constructor: function() {
        alert("I'm a cat!");

        return this;
    }
});

My.Cat.override({
    constructor: function() {
        alert("I'm going to be a cat!");

        var instance = this.callOverridden();

        alert("Meeeeoooowwww");

        return instance;
    }
});

var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
                          // alerts "I'm a cat!"
                          // alerts "Meeeeoooowwww"

Available since: 4.0.2

Parameters

Returns