1/** 2 * Store the billink payment form to session on change 3 */ 4;billink.paymentFormSession = new function() 5{ 6 var self = this; 7 self.setPaymentFormFieldsUrl = ''; 8 self.getPaymentFormFieldsUrl = ''; 9 self.formController = null; 10 11 /** 12 * Attach listeners 13 */ 14 self.init = function(setPaymentFormFieldsUrl, getPaymentFormFieldsUrl, formController) 15 { 16 self.setPaymentFormFieldsUrl = setPaymentFormFieldsUrl; 17 self.getPaymentFormFieldsUrl = getPaymentFormFieldsUrl; 18 self.formController = formController; 19 20 // if the form changes, post it to server for session storage 21 $$("#payment_form_billink input").invoke('observe', 'change', function() { 22 self.savePaymentFormFieldsInSession(); 23 }); 24 }; 25 26 /** 27 * Save fields in session 28 */ 29 self.savePaymentFormFieldsInSession = function(){ 30 var values = {}; 31 32 //grab text fields 33 $$("#payment_form_billink input").each(function(element) { 34 values[element.name] = element.getValue(); 35 }); 36 37 //Grab dropdowns 38 $$("#payment_form_billink select").each(function(element) { 39 values[element.name] = element.getValue(); 40 }); 41 42 //grab selected radio fields 43 $$("#payment_form_billink input:checked").each(function(element) { 44 values[element.name] = element.getValue(); 45 }); 46 47 new Ajax.Request(self.setPaymentFormFieldsUrl, { 48 method : 'post', 49 parameters : values 50 }); 51 }; 52};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.