1jQuery(function($){ 2 3 4 5 $("#send_msg").hide(); 6 $.validator.addMethod( 7 "notplaceholder", 8 function(value, element){ 9 return ($(element).attr("placeholder") != value); 10 }, 11 "Please enter a value" 12 ); 13 $("#contactform1").validate({ 14 rules: { 15 fname: { 16 required : true, 17 notplaceholder : true 18 }, 19 20 email: { 21 required : true, 22 email: true, 23 // accept:"[A-Z0-9._%+-]+@[A-Z0-9.-]+\.com" 24 // regex: /^\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b$/i 25 // notplaceholder : true 26 }, 27 email_confirm: { 28 required : true, 29 equalTo: '[name="email"]' 30 }, 31 mphone1: { 32 required: true, 33 // number: true, 34 35 notplaceholder : true 36 }, 37 city: { 38 required: true, 39 notplaceholder : true 40 }, 41 message: { 42 required: true, 43 notplaceholder : true 44 }, 45 }, 46 messages: { 47 fname:"Please enter your First Name", 48 email: { 49 required : "Please enter your Email ", 50 email : "Please enter a valid Email", 51 }, 52 email_confirm: { 53 required : "Please enter your Email ", 54 equalTo : "Wrong Email Entered", 55 }, 56 mphone1:"Please enter your Contact number", 57 city:"Please select your City", 58 message:"Please enter your Message", 59 }, 60 61 // submitHandler: function(e) { 62 // // e.preventDefault(); 63 // $("#send_msg").show(); 64 65 // var form_data = $('#contactform1').serialize(); 66 // $("#complete").hide(); 67 // $("#reset").hide(); 68 // $(".single-loader").show(); 69 70 // $.post(ajax_url, 'action=contactform_submit&' + form_data, 71 // function(response) { 72 73 // var res1 = $.parseJSON(response); 74 // //console.log(res1); 75 // $("#complete").show(); 76 // $("#reset").show(); 77 // $(".single-loader").hide(); 78 79 // if (res1.status == 'success'){ 80 // var response = '<div class="alert alert-success custom_success" role="alert">Your enquiry Submitted Successfully.</div>'; 81 // // $('#send_msg').html(response).focus(); 82 // document.getElementById("msg").style.display = "block"; 83 84 // $("#dismissButton").click(function(){ 85 // $('#contactform1').trigger("reset"); 86 // }); 87 // var fromdata = ''; 88 // // $('#send_msg').html(response).focus(); 89 // setTimeout(function() { 90 // $('.custom_success').hide(); 91 // $('#contactform1').trigger("reset"); 92 93 // }, 2000); 94 // // $('body').addClass('indata'); 95 96 97 // } 98 // else { 99 // var response = '<div class="alert alert-danger custom_error" role="alert">Something Went Wrong! Try Again Later.</div>'; 100 // $('#send_msg').html(response).focus(); 101 // setTimeout(function() { 102 // $('.custom_error').fadeOut(1000); 103 // }, 3000); 104 105 // } 106 107 108 // } 109 110 // ); 111 // } 112 113 114submitHandler: function(form) { 115 116 console.log('SUBMIT HANDLER STARTED'); 117 118 $("#send_msg").show(); 119 $("#complete").hide(); 120 $("#reset").hide(); 121 $(".single-loader").show(); 122 123 getRecaptchaToken('CONTACT_CUSTOM_FORM') 124 125 .then(function(token) { 126 127 console.log('Token generated'); 128 129 if (!token) { 130 throw new Error('Empty reCAPTCHA token'); 131 } 132 133 $(form) 134 .find('[name="page_url"]') 135 .val(window.location.href.split('#')[0]); 136 137 $(form) 138 .find('[name="page_title"]') 139 .val(document.title); 140 141 var form_data = $(form).serializeArray(); 142 143 // Add token directly 144 form_data.push({ 145 name: 'recaptcha_token', 146 value: token 147 }); 148 149 form_data.push({ 150 name: 'action', 151 value: 'contactform_submit' 152 }); 153 154 console.log('FINAL FORM DATA:', form_data); 155 156 return $.ajax({
157 url: ajax_url, 158 type: 'POST', 159 data: $.param(form_data), 160 dataType: 'json' 161 }); 162 }) 163 164 .then(function(res1) { 165 166 console.log('Server response:', res1); 167 168 $("#complete").show(); 169 $("#reset").show(); 170 $(".single-loader").hide(); 171 172 if (res1.status === 'success') { 173 174 $("#msg").show(); 175 176 $("#dismissButton") 177 .off('click') 178 .on('click', function() { 179 $('#contactform1').trigger('reset'); 180 }); 181 182 setTimeout(function() { 183 $('.custom_success').hide(); 184 $('#contactform1').trigger('reset'); 185 }, 2000); 186 187 } else { 188 189 $('#send_msg').html( 190 '<div class="alert alert-danger custom_error">' + 191 (res1.message || 192 'Something Went Wrong! Try Again Later.') + 193 '</div>' 194 ); 195 } 196 }) 197 198 .catch(function(error) { 199 200 console.error('AJAX / reCAPTCHA ERROR:', error); 201 202 $("#complete").show(); 203 $("#reset").show(); 204 $(".single-loader").hide(); 205 206 $('#send_msg').html( 207 '<div class="alert alert-danger custom_error">' + 208 'Request failed. Please try again.' + 209 '</div>' 210 ); 211 }); 212 213 return false; 214} 215 216 217 }); 218 219 220});
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.