[1349] | 1 | |
---|
| 2 | // ----------------------------------------------------------------------------- |
---|
| 3 | // CLASS NanoRequest |
---|
| 4 | function NanoRequest() |
---|
| 5 | { |
---|
| 6 | /* Instance Variables */ |
---|
| 7 | |
---|
| 8 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
---|
| 9 | // Public variables |
---|
| 10 | |
---|
| 11 | this.requestParameter = null; |
---|
| 12 | this.requestData = null; |
---|
| 13 | |
---|
| 14 | this.escapeKeys = false; |
---|
| 15 | this.escapeValues = true; |
---|
| 16 | |
---|
| 17 | |
---|
| 18 | // ######################################################################### |
---|
| 19 | // Privileged Method (has public access and can access private vars & funcs) |
---|
| 20 | |
---|
| 21 | this.autoLoadData = _autoLoadRequestData; |
---|
| 22 | this.getAssembledRequest = _assembleRequestData; |
---|
| 23 | |
---|
| 24 | |
---|
| 25 | // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
---|
| 26 | // PRIVATE Methods |
---|
| 27 | |
---|
| 28 | function _autoLoadRequestData( form_id, unique_element_id_string, disabled_element_types ) |
---|
| 29 | { |
---|
| 30 | this.requestData = new Object(); |
---|
| 31 | |
---|
| 32 | for( var i = 0; i < $(form_id).elements.length; i++ ) |
---|
| 33 | { |
---|
| 34 | if( unique_element_id_string == ($(form_id).elements[i].id).substr(0,unique_element_id_string.length) ) |
---|
| 35 | { |
---|
| 36 | this.requestData[_escapeKey($(form_id).elements[i].id)] = _getDataByElementType( $(form_id).elements[i].id ); |
---|
| 37 | } |
---|
| 38 | } |
---|
| 39 | } |
---|
| 40 | |
---|
| 41 | function _assembleRequestData() |
---|
| 42 | { |
---|
| 43 | var tmp = new Object(); |
---|
| 44 | |
---|
| 45 | if( null != this.requestParameter && undefined != this.requestParameter ) |
---|
| 46 | { |
---|
| 47 | tmp['parameter'] = this.requestParameter; |
---|
| 48 | } |
---|
| 49 | |
---|
| 50 | if( null != this.requestData && undefined != this.requestData ) |
---|
| 51 | { |
---|
| 52 | tmp['data'] = this.requestData; |
---|
| 53 | } |
---|
| 54 | |
---|
| 55 | return tmp; |
---|
| 56 | } |
---|
| 57 | |
---|
| 58 | function _getDataByElementType( id ) |
---|
| 59 | { |
---|
| 60 | if( $(id) ) |
---|
| 61 | { |
---|
| 62 | switch( $(id).type ) |
---|
| 63 | { |
---|
| 64 | case 'hidden' : |
---|
| 65 | case 'radio' : |
---|
| 66 | case 'select-one' : |
---|
| 67 | case 'button' : return $F(id); |
---|
| 68 | break; |
---|
| 69 | |
---|
| 70 | case 'password' : |
---|
| 71 | case 'text' : |
---|
| 72 | case 'textarea' : return _escapeValue( $F(id) ); |
---|
| 73 | break; |
---|
| 74 | |
---|
| 75 | case 'checkbox' : return ( true == $(id).checked ) |
---|
| 76 | ? $F(id).value |
---|
| 77 | : 0; |
---|
| 78 | break; |
---|
| 79 | |
---|
| 80 | default : alert( 'Form field type: ' + $(id).type + |
---|
| 81 | ' is NOT defined!!!' ); |
---|
| 82 | } |
---|
| 83 | } |
---|
| 84 | else |
---|
| 85 | { |
---|
| 86 | return ''; |
---|
| 87 | } |
---|
| 88 | } |
---|
| 89 | |
---|
| 90 | function _escapeKey( data ) |
---|
| 91 | { |
---|
| 92 | return ( true == this.escapeKeys) |
---|
| 93 | ? encodeURIComponent(data) |
---|
| 94 | : data; |
---|
| 95 | } |
---|
| 96 | |
---|
| 97 | function _escapeValue( data ) |
---|
| 98 | { |
---|
| 99 | return ( true == this.escapeValues) |
---|
| 100 | ? encodeURIComponent(data) |
---|
| 101 | : data; |
---|
| 102 | } |
---|
| 103 | |
---|
| 104 | } |
---|