Upgrade to ExtJS 4.0.0 - Released 04/26/2011
[extjs.git] / src / form / field / Hidden.js
1 /**
2  * @class Ext.form.field.Hidden
3  * @extends Ext.form.field.Base
4  * <p>A basic hidden field for storing hidden values in forms that need to be passed in the form submit.</p>
5  * <p>This creates an actual input element with type="submit" in the DOM. While its label is
6  * {@link #hideLabel not rendered} by default, it is still a real component and may be sized according to
7  * its owner container's layout.</p>
8  * <p>Because of this, in most cases it is more convenient and less problematic to simply
9  * {@link Ext.form.action.Action#params pass hidden parameters} directly when
10  * {@link Ext.form.Basic#submit submitting the form}.</p>
11  * <p>Example:</p>
12  * <pre><code>new Ext.form.Panel({
13     title: 'My Form',
14     items: [{
15         xtype: 'textfield',
16         fieldLabel: 'Text Field',
17         name: 'text_field',
18         value: 'value from text field'
19     }, {
20         xtype: 'hiddenfield',
21         name: 'hidden_field_1',
22         value: 'value from hidden field'
23     }],
24
25     buttons: [{
26         text: 'Submit',
27         handler: function() {
28             this.up('form').getForm().submit({
29                 params: {
30                     hidden_field_2: 'value from submit call'
31                 }
32             });
33         }
34     }]
35 });</code></pre>
36  * <p>Submitting the above form will result in three values sent to the server:
37  * <code>text_field=value+from+text+field&hidden_field_1=value+from+hidden+field&<br>hidden_field_2=value+from+submit+call</code></p>
38  *
39  * @constructor
40  * Create a new Hidden field.
41  * @param {Object} config Configuration options
42  * 
43  * @xtype hiddenfield
44  */
45 Ext.define('Ext.form.field.Hidden', {
46     extend:'Ext.form.field.Base',
47     alias: ['widget.hiddenfield', 'widget.hidden'],
48     alternateClassName: 'Ext.form.Hidden',
49
50     // private
51     inputType : 'hidden',
52     hideLabel: true,
53     
54     initComponent: function(){
55         this.formItemCls += '-hidden';
56         this.callParent();    
57     },
58
59     // These are all private overrides
60     initEvents: Ext.emptyFn,
61     setSize : Ext.emptyFn,
62     setWidth : Ext.emptyFn,
63     setHeight : Ext.emptyFn,
64     setPosition : Ext.emptyFn,
65     setPagePosition : Ext.emptyFn,
66     markInvalid : Ext.emptyFn,
67     clearInvalid : Ext.emptyFn
68 });