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

Class CQ.Ext.form.Action.DirectSubmit

Package:CQ.Ext.form
Class:Action.DirectSubmit
Extends:CQ.Ext.form.Action.Submit
Clientlib:cq.widgets

Provides CQ.Ext.direct support for submitting form data.

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

var myFormPanel = new CQ.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 CQ.Ext.form.Action.DirectLoad.

Config Options

Config Options Defined By
  url : String
The URL that the Action is to invoke.
Action

Public Properties

Property Defined By
  response : Object
The XMLHttpRequest object used to perform the action.
Action
  result : Object
The decoded response object containing a boolean success property and other, action-specific properties.
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.