1jQuery(document).ready(function($){ 2 $(document).on('click','.newsletter_subscription_submit',function(){ 3 4 var $parent=$(this).parents('.newsletter_subscription_box'); 5 6 /* GDPR checkbox */ 7 var tfuse_newsletter_gdpr = $parent.find('.tfuse_newsletter_gdpr'); 8 if ( tfuse_newsletter_gdpr.length > 0 ) { 9 var gdpr_checkbox = jQuery(tfuse_newsletter_gdpr).find('input[type="checkbox"]'); 10 if ( !gdpr_checkbox.is(':checked') ) { 11 tfuse_newsletter_gdpr.find('label').css('color', 'red'); 12 return false; 13 } 14 else { 15 tfuse_newsletter_gdpr.find('label').css('color', ''); 16 } 17 } 18 19 if(!validateEmail($parent.find('.newsletter_subscription_email').val())) { 20 $parent.find('.newsletter_subscription_messages *').hide(); 21 $parent.find('.newsletter_subscription_messages .newsletter_subscription_message_wrong_email').show(); 22 return false; 23 } 24 var current_name=''; 25 if($parent.find('.newsletter_subscription_name').length>0) { 26 current_name=$parent.find('.newsletter_subscription_name').val(); 27 } 28 $parent.find('.newsletter_subscription_form').hide(); 29 $parent.find('.newsletter_subscription_ajax').show(); 30 $.post(tf_script.ajaxurl, { 31 action:'tfuse_ajax_newsletter', 32 tf_action:'tfuse_ajax_newsletter_save_email', 33 email:$parent.find('.newsletter_subscription_email').val(), 34 name:current_name 35 },function(data){ 36 $parent.find('.newsletter_subscription_ajax').hide(); 37 $parent.find('.newsletter_subscription_form').show(); 38 if(data.status==-2) { 39 $parent.find('.newsletter_subscription_messages *').hide(); 40 $parent.find('.newsletter_subscription_messages .newsletter_subscription_message_wrong_email').show(); 41 } 42 else if(data.status==-1) { 43 $parent.find('.newsletter_subscription_messages *').hide(); 44 $parent.find('.newsletter_subscription_messages .newsletter_subscription_message_failed').show(); 45 setTimeout(function(){ 46 $parent.find('.newsletter_subscription_messages *').hide(); 47 $parent.find('.newsletter_subscription_messages .newsletter_subscription_message_initial').show(); 48 }, 3000); 49 } 50 else if(data.status==1) { 51 $parent.find('.newsletter_subscription_messages *').hide(); 52 $parent.find('.newsletter_subscription_messages .newsletter_subscription_message_success').show(); 53 } 54 },'json'); 55 return false; 56 }); 57 58 function validateEmail(email) { 59 if(!email) 60 return false; 61 var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/; 62 if( !emailReg.test( email ) ) { 63 return false; 64 } else { 65 return true; 66 } 67 } 68});
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.