1function pmprodev_generate_checkout_info( submit ) { 2 jQuery.noConflict().ajax({ 3 url: 'https://randomuser.me/api/?nat=us', 4 dataType: 'json', 5 success: function( data ) { 6 const results = data['results'][0]; 7 8 // Fill required fields. 9 jQuery('.pmpro_form_input-checkbox.pmpro_form_input-required').prop('checked', true); 10 jQuery('.pmpro_form_input-text.pmpro_form_input-required').val('Sample Text'); 11 const today = new Date().toISOString().split('T')[0]; 12 jQuery('.pmpro_form_input-date.pmpro_form_input-required').val( today ); 13 14 // Generate email address 15 const username = results.name.first + '.' + results.name.last; 16 const base_email = jQuery('#pmprodev-base-email').val(); 17 const at_index = base_email.indexOf("@"); 18 const user_email = base_email.substring(0, at_index) + '+' + username + base_email.substring(at_index); 19 20 jQuery('#username').val( username ); 21 jQuery('#password').val( username ); 22 jQuery('#password2').val( username ); 23 jQuery('#bemail').val( user_email ); 24 jQuery('#bconfirmemail').val( user_email ); 25 jQuery('#first_name').val( results.name.first ); 26 jQuery('#last_name').val( results.name.last ); 27 jQuery('#bfirstname').val( results.name.first ); 28 jQuery('#blastname').val( results.name.last ); 29 jQuery('#baddress1').val( results.location.street.number + ' ' + results.location.street.name ); 30 jQuery('#bcity').val( results.location.city ); 31 jQuery('#bstate').val( results.location.state ); 32 jQuery('#bzipcode').val( results.location.postcode ); 33 jQuery('#bcountry').val( 'US' ); 34 jQuery('#bphone').val( results.phone ); 35 jQuery('#pmpro_sfirstname').val( results.name.first ); 36 jQuery('#pmpro_slastname').val( results.name.last ); 37 jQuery('#pmpro_saddress1').val( results.location.street.number + ' ' + results.location.street.name ); 38 jQuery('#pmpro_scity').val( results.location.city ); 39 jQuery('#pmpro_sstate').val( results.location.state ); 40 jQuery('#pmpro_szipcode').val( results.location.postcode ); 41 jQuery('#pmpro_scountry').val( 'US' ); 42 jQuery('#pmpro_sphone').val( results.phone ); 43 jQuery('#pmpromd_street_name').val( results.location.street.number + ' ' + results.location.street.name ); 44 jQuery('#pmpromd_city').val( results.location.city ); 45 jQuery('#pmpromd_state').val( results.location.state ); 46 jQuery('#pmpromd_zip').val( results.location.postcode ); 47 jQuery('#pmpromd_country').val( 'US' ); 48 jQuery('#AccountNumber').val( "4242424242424242" ); 49 const nextYear = new Date().getFullYear() + 1; 50 jQuery('#ExpirationYear').val( nextYear ); 51 jQuery('#CVV').val( "123" ); 52 53 if ( submit ) { 54 jQuery('.pmpro_btn-submit-checkout').click(); 55 } 56 } 57 }); 58} 59 60/** 61 * jQuery ready function. 62 */ 63jQuery(document).ready(function ( $ ) { 64 $('#pmprodev-generate').click(function () { 65 pmprodev_generate_checkout_info(); 66 }); 67 68 $('#pmprodev-generate-submit').click(function () { 69 pmprodev_generate_checkout_info( true ); 70 }); 71 72 /** 73 74 * Enable the generate button if the email address is valid. 75 */ 76 $('#pmprodev-base-email').change(function () { 77 const email = $(this).val(); 78 if ( email.includes('@')) { 79 //Enable the generate button 80 $('#pmprodev-generate').prop('disabled', false); 81 $('#pmprodev-generate-submit').prop('disabled', false); 82 } else { 83 //Disable the generate button 84 $('#pmprodev-generate').prop('disabled', true); 85 $('#pmprodev-generate-submit').prop('disabled', true); 86 } 87 }); 88});
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.