1jQuery(function($){ 2 3 window.wpuf_validate_address = function(e) { 4 var country = $("td.bill_required").find('.wpuf_biiling_country, .input'); 5 var state = $("td.bill_required").find('.wpuf_biiling_state, .input'); 6 var add_1 = $("#wpuf_biiling_add_line_1"); 7 var add_2 = $("#wpuf_biiling_add_line_2"); 8 var city = $("#wpuf_biiling_city"); 9 var zip = $("#wpuf_biiling_zip_code"); 10 var isValid = true; 11 12 if ( ( country.val() === '' || state.val() === '' ) || 13 ( add_1.hasClass('bill_required') && add_1.val() === "" ) || 14 ( add_2.hasClass('bill_required') && add_2.val() === "" ) || 15 ( city.hasClass('bill_required') && city.val() === "" ) || 16 ( zip.hasClass('bill_required') && zip.val() === "" ) ) 17 { 18 isValid = false; 19 } 20 return isValid; 21 }; 22 23 $( '#wpuf-payment-gateway' ).submit(function (e) { 24 let form_data = WP_User_Frontend.validateForm($(this)); 25 26 if (!form_data) { 27 e.preventDefault(); 28 } 29 30 var billing_address_form = $( '#wpuf-ajax-address-form' ); 31 32 if ( billing_address_form.length ) { 33 var inputs = [ 34 { id: '#wpuf_biiling_country', name: 'billing_country' }, 35 { id: '#wpuf_biiling_state', name: 'billing_state' }, 36 { id: '#wpuf_biiling_add_line_1', name: 'billing_add_line1' }, 37 { id: '#wpuf_biiling_add_line_2', name: 'billing_add_line2' }, 38 { id: '#wpuf_biiling_city', name: 'billing_city' }, 39 { id: '#wpuf_biiling_zip_code', name: 'billing_zip' }, 40 ]; 41 42 inputs.map( function ( input ) { 43 $( '<input type="hidden" name="billing_address[' + input.name + ']" />' ) 44 .appendTo( '#wpuf-payment-gateway' ) 45 .val( $( input.id ).val() ); 46 } ); 47 } 48 }); 49 50 $('#wpuf-ajax-address-form').submit(function (e) { 51 e.preventDefault(); 52 $( '#wpuf-payment-gateway' ).trigger( 'submit' ); 53 }); 54 55 $( document.body ).on('change', 'select#wpuf_biiling_country', function() { 56 var $this = $(this), $tr = $this.closest('tr'); 57 var data = { 58 action: 'wpuf_ajax_address', 59 country: $(this).val(), 60 field_name: $("#wpuf_biiling_state").attr("name"), 61 _wpnonce: $("#_wpnonce").val() 62 }; 63 $.post(ajax_object.ajaxurl, data, function (response) { 64 if( 'nostates' == response ) { 65 var text_field = '<input type="text" name="' + data.field_name + '" value=""/>'; 66 $this.parent().next().find('select').replaceWith( text_field ); 67 } else { 68 $this.parent().next().find('input,select').show(); 69 $this.parent().next().find('input,select').replaceWith(response); 70 $this.parent().next().find('input,select').prepend("<option value='' selected='selected'>- select -</option>"); 71 } 72 }); 73 }); 74 75 $(document).ready( function () { 76 wpuf_calculate_tax(); 77 }); 78 79 $(document.body).on('change', 'form#wpuf-ajax-address-form', function () { 80 wpuf_calculate_tax(); 81 }); 82 83 var ajax_tax_count = 0; 84 85 function wpuf_calculate_tax() { 86 87 var $wpuf_cc_address = jQuery('#wpuf-address-country-state'); 88 var $payment_form = jQuery('#wpuf-payment-gateway'); 89 var $address_form = jQuery('#wpuf-ajax-address-form'); 90 91 if ( ! $address_form.length ) { 92 return; 93 } 94 95 var postData = { 96 action: 'wpuf_update_billing_address', 97 billing_country: $wpuf_cc_address.find('#wpuf_biiling_country').val(), 98 billing_state: $wpuf_cc_address.find('#wpuf_biiling_state').val(), 99 billing_add_line1: $wpuf_cc_address.find('#wpuf_biiling_add_line_1').val(), 100 billing_add_line2: $wpuf_cc_address.find('#wpuf_biiling_add_line_2').val(), 101 billing_city: $wpuf_cc_address.find('#wpuf_biiling_city').val(), 102 billing_zip: $wpuf_cc_address.find('#wpuf_biiling_zip_code').val(), 103 type: $payment_form.find('#wpuf_type').html(), 104 id: $payment_form.find('#wpuf_id').html(), 105 _wpnonce: $address_form.find('#_wpnonce').val(), 106 }; 107 108 var current_ajax_count = ++ajax_tax_count; 109 jQuery.ajax({ 110 type: "POST", 111 data: postData, 112 dataType: "json", 113 url: ajax_object.ajaxurl, 114 success: function (tax_response) { 115 // Only update tax info if this response is the most recent ajax call. This avoids bug with form autocomplete firing multiple ajax calls at the same time 116 if ((current_ajax_count === ajax_tax_count) && tax_response) { 117 jQuery('#wpuf_pay_page_tax').html(tax_response.tax); 118 jQuery('#wpuf_pay_page_total').html(tax_response.cost); 119 var tax_data = new Object(); 120 tax_data.postdata = postData; 121 tax_data.response = tax_response; 122 } 123 } 124 }).fail(function (data) { 125 if ( window.console && window.console.log ) { 126 console.log( data ); 127 } 128 }); 129 } 130});
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.