Index: branches/1.0.x/inc/js/form_manager.js =================================================================== diff -u -N -r14805 -r14806 --- branches/1.0.x/inc/js/form_manager.js (.../form_manager.js) (revision 14805) +++ branches/1.0.x/inc/js/form_manager.js (.../form_manager.js) (revision 14806) @@ -6,7 +6,7 @@ this.url = ''; this.fieldMask = '#PREFIX#[#ID#][#FIELD_NAME#]'; - this.noErrorsHTML = '' + this.noErrorsHTML = ''; this.checkTimeout = 1000; this.pendingChecks = {}; @@ -43,6 +43,16 @@ } } +FormManager.unregisterField = function ($prefix, $field) { + var $field_index = array_search($field, this.fields[$prefix]); + + this.fields[$prefix].splice($field_index, 1); + + delete this.fieldWatermarks[$prefix + '_' + $field]; + delete this.fieldTypes[$prefix + '_' + $field]; +} + + FormManager.getFieldMask = function ($prefix) { return this.fieldMask.replace('#PREFIX#', $prefix).replace('#ID#', this.form_param($prefix, 'id')); } @@ -84,6 +94,10 @@ case 'checkboxes': return $("input[id^='" + jq($field_mask.replace('#FIELD_NAME#', $field)) + "_']"); break; + + case 'cc_expiration': + return $('select', this.getCell($prefix, $field, 'field')); + break; } return this.getField($prefix, $field); @@ -311,6 +325,10 @@ var $prefix = RegExp.$1; var $field = RegExp.$2.replace(/(_date|_time)$/, ''); + if ( $field.match(/(.*)(Month|Year)$/) && this.fieldTypes[$prefix + '_' + RegExp.$1 + 'Date'] == 'cc_expiration' ) { + $field = RegExp.$1 + 'Date'; + } + if ( this.pendingChecks[$field] ) { clearTimeout( this.pendingChecks[$field] ); delete this.pendingChecks[$field];