Properties Methods Events Config Options Direct Link
Action
  Action.Submit
    Action.DirectSubmit

Class Ext.form.Action.DirectSubmit

Package:Ext.form
Defined In:Action.js
Class:Action.DirectSubmit
Extends:Action.Submit

Provides Ext.direct support for submitting form data.

This example illustrates usage of Ext.Direct to submit a form through Ext.Direct.

var myFormPanel = new Ext.form.FormPanel({
    // configs for FormPanel

    title: 'Basic Information',
    renderTo: document.body,
    width: 300, height: 160,
    padding: 10,
    buttons:[{
        text: 'Submit',
        handler: function(){
            myFormPanel.getForm().submit({
                params: {
                    foo: 'bar',
                    uid: 34
                }
            });
        }
    }],

    // configs apply to child items

    defaults: {anchor: '100%'},
    defaultType: 'textfield',
    items: [{
        fieldLabel: 'Name',
        name: 'name'
    },{
        fieldLabel: 'Email',
        name: 'email'
    },{
        fieldLabel: 'Company',
        name: 'company'
    }],

    // configs for BasicForm

    api: {
        // The server-side method to call for load() requests

        load: Profile.getBasicInfo,
        // The server-side must mark the submit handler as a 'formHandler'

        submit: Profile.updateBasicInfo
    },
    // specify the order for the passed params

    paramOrder: ['uid', 'foo']
});
The data packet sent to the server will resemble something like:
{
    "action":"Profile","method":"updateBasicInfo","type":"rpc","tid":"6",
    "result":{
        "success":true,
        "id":{
            "extAction":"Profile","extMethod":"updateBasicInfo",
            "extType":"rpc","extTID":"6","extUpload":"false",
            "name":"Aaron Conran","email":"aaron@extjs.com","company":"Ext JS, LLC"
        }
    }
}
The form will process a data packet returned by the server that is similar to the following:
// sample success packet (batched requests)

[
    {
        "action":"Profile","method":"updateBasicInfo","type":"rpc","tid":3,
        "result":{
            "success":true
        }
    }
]

// sample failure packet (one request)

{
        "action":"Profile","method":"updateBasicInfo","type":"rpc","tid":"6",
        "result":{
            "errors":{
                "email":"already taken"
            },
            "success":false,
            "foo":"bar"
        }
}
Also see the discussion in Ext.form.Action.DirectLoad.

Config Options

Config OptionsDefined By
 scope : Object
The scope in which to call the callback functions (The this reference for the callback functions).
Action
 url : String
The URL that the Action is to invoke.
Action
 waitMsg : String
The message to be displayed by a call to Ext.MessageBox.wait during the time the action is being processed.
Action
 waitTitle : String
The title to be displayed by a call to Ext.MessageBox.wait during the time the action is being processed.
Action

Public Properties

PropertyDefined By
 response : Object
The XMLHttpRequest object used to perform the action.
Action
 type : String
The type of action this Action instance performs. Currently only "submit" and "load" are supported.
Action

Public Methods

This class has no public methods.

Public Events

This class has no public events.