source: sandbox/3.0/phpgwapi/js/tools/xform.js @ 2903

Revision 2903, 2.1 KB checked in by rodsouza, 14 years ago (diff)

Ticket #1058 - Corrigindo problemas na inclusão de folhas de estilo.

Line 
1( function( )
2{
3        var _connector = new XConnector;
4
5        function XForm( )
6        {
7                if ( ! ( arguments.length && arguments[ 0 ] && arguments[ 0 ].nodeName && arguments[ 0 ].nodeName.toLowerCase( ) == 'form' ) )
8                        return false;
9
10                var _form = arguments[ 0 ];
11                var _handler = null;
12
13                if ( arguments.length > 1 && arguments[ 1 ] && arguments[ 1 ].constructor == Function )
14                        _handler = arguments[ 1 ];
15
16                var a = [ ];
17                var _post = [ ];
18
19                function _input( _element )
20                {
21                        switch ( _element.type.toLowerCase( ) )
22                        {
23                                case 'hidden' :
24                                case 'password' :
25                                case 'submit' :
26                                case 'text' :
27                                        _post[ _post.length ] = _element.name + '=' + escape( _element.value.trim( ) );
28                                        break;
29                                case 'checkbox' :
30                                        if ( _element.checked )
31                                        {
32                                                _post[ _post.length ] = _element.name + '=' + escape( _element.value );
33                                                break;
34                                        }
35                                default :
36                                        a[ a.length ] = " input - " + _element.type + "\n\t" + _element.name;
37                        }
38                }
39
40                function _select( _element )
41                {
42                        if ( _element.type == 'select-one' )
43                                _post[ _post.length ] = _element.name + '=' + escape( _element.value );
44
45                        if ( _element.type == 'select-multiple' )
46                                for ( var i = 0; i < _element.length; i++ )
47                                        if ( _element.options[ i ].selected )
48                                                _post[ _post.length ] = _element.name + '=' + escape( _element.options[ i ].value );
49                }
50
51                function _textarea( _element )
52                {
53                        _post[ _post.length ] = _element.name + '=' + escape( _element.value.trim( ) );
54                }
55
56                function _send( )
57                {
58                        _connector.go(
59                        {
60                                'access' : _form.action,
61                                'handler' : _handler,
62                                'post' : _post.sort( ).join( "&" )
63                        } );
64                }
65
66                for ( var i = 0; i < _form.length; i++ )
67                        if ( _form[ i ].name )
68                                switch ( _form[ i ].nodeName.toLowerCase( ) )
69                                {
70                                        case 'input' :
71                                                _input( _form[ i ] );
72                                                break;
73                                        case 'select' :
74                                                _select( _form[ i ] );
75                                                break;
76                                        case 'textarea' :
77                                                _textarea( _form[ i ] );
78                                                break;
79                                        default :
80                                                a[ a.length ] = _form[ i ].nodeName  + "\t\t" + _form[ i ].type + "\t" + _form[ i ].name;
81                                }
82
83                //alert( a.join( "\n" ) );
84                //alert( _post.sort( ).join( "\n" ) );
85
86                _send( );
87
88                return false;
89        }
90
91        window.XForm = XForm;
92} )( );
Note: See TracBrowser for help on using the repository browser.