    Action
      Action.Load
        Action.DirectLoad

# Class Ext.form.Action.DirectLoad

Package: | Ext.form
Defined In: | Action.js
Class: | Action.DirectLoad
Extends: | Action.Load

Provides Ext.direct support for loading form data.

This example illustrates usage of Ext.Direct to load 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,

        // 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']
    });

    // load the form
    myFormPanel.getForm().load({
        // pass 2 arguments to server side getBasicInfo method (len=2)
        params: {
            foo: 'bar',
            uid: 34
        }
    });

The data packet sent to the server will resemble something like:

    [
        {
            "action":"Profile","method":"getBasicInfo","type":"rpc","tid":2,
            "data":[34,"bar"] // note the order of the params
        }
    ]

The form will process a data packet returned by the server that is similar to the following format:

    [
        {
            "action":"Profile","method":"getBasicInfo","type":"rpc","tid":2,
            "result":{
                "success":true,
                "data":{
                    "name":"Fred Flintstone",
                    "company":"Slate Rock and Gravel",
                    "email":"fred.flintstone@slaterg.com"
                }
            }
        }
    ]

## Config Options

Config Options | Defined By
--- | ---
| failure : Function The function to call when a failure packet was recieved, or when an error ocurred in the Ajax communication. The func... The function to call when a failure packet was recieved, or when an error ocurred in the Ajax communication. The function is passed the following parameters: form : Ext.form.BasicForm The form that requested the action action : Ext.form.Action The Action class. If an Ajax error ocurred, the failure type will be in failureType. The result property of this object may be examined to perform custom postprocessing. | Action
| method : String The HTTP method to use to access the requested URL. Defaults to the Ext.form.BasicForm's method, or if that is not sp... The HTTP method to use to access the requested URL. Defaults to the Ext.form.BasicForm's method, or if that is not specified, the underlying DOM form's method. | Action
| params : Mixed Extra parameter values to pass. These are added to the Form's Ext.form.BasicForm.baseParams and passed to the specifi... Extra parameter values to pass. These are added to the Form's Ext.form.BasicForm.baseParams and passed to the specified URL along with the Form's input fields. Parameters are encoded as standard HTTP parameters using Ext.urlEncode. | Action
| reset : Boolean When set to true, causes the Form to be reset on Action success. If specified, this happens before the success callba... 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. | Action
| scope : Object The scope in which to call the callback functions (The `this` reference for the callback functions). | Action
| submitEmptyText : Boolean If set to `true`, the emptyText value will be sent with the form when it is submitted. Defaults to `true`. | Action
| success : Function The function to call when a valid success return packet is recieved. The function is passed the following parameters:... The function to call when a valid success return packet is recieved. The function is passed the following parameters: form : Ext.form.BasicForm The form that requested the action action : Ext.form.Action The Action class. The result property of this object may be examined to perform custom postprocessing. | Action
| timeout : Number The number of seconds to wait for a server response before failing with the failureType as Action.CONNECT_FAILURE. If... The number of seconds to wait for a server response before failing with the failureType as Action.CONNECT_FAILURE. If not specified, defaults to the configured `timeout` of the form. | 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

Property | Defined By
--- | ---
| CLIENT_INVALID : String Failure type returned when client side validation of the Form fails thus aborting a submit action. Client side valida... Failure type returned when client side validation of the Form fails thus aborting a submit action. Client side validation is performed unless clientValidation is explicitly set to `false`. | Action
| CONNECT_FAILURE : String Failure type returned when a communication error happens when attempting to send a request to the remote server. The ... Failure type returned when a communication error happens when attempting to send a request to the remote server. The response may be examined to provide further information. | Action
| LOAD_FAILURE : String Failure type returned when the response's <tt style="font-weight:bold">success property is set to false, or no field ... Failure type returned when the response's `success` property is set to `false`, or no field values are returned in the response's `data` property. | Action
| SERVER_INVALID : String Failure type returned when server side processing fails and the result's <tt style="font-weight:bold">success propert... Failure type returned when server side processing fails and the result's `success` property is set to `false`. In the case of a form submission, field-specific error messages may be returned in the result's `errors` property. | Action
| failureType : String 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.FormPanel({
    ...
    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 === Ext.form.Action.CONNECT_FAILURE) {
                            Ext.Msg.alert('Error',
                                'Status:'+action.response.status+': '+
                                action.response.statusText);
                        }
                        if (action.failureType === Ext.form.Action.SERVER_INVALID){
                            // server responded with success = false
                            Ext.Msg.alert('Invalid', action.result.errormsg);
                        }
                    }
                });
            }
        }
    },{
        text: 'Reset',
        handler: function(){
            fp.getForm().reset();
        }
    }]
| Action
| response : Object The XMLHttpRequest object used to perform the action. | Action
| result : Object The decoded response object containing a boolean <tt style="font-weight:bold">success property and other, action-spec... 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.