1var Subscription = {} || Subscription; 2var message = $("#EmailAddressSubscriptionError"); 3var waitingMessage = $("#waitingMessage"); 4var errorMessage = $("#EmailErrorMessage").val(); 5Subscription = { 6 applyMessageErrorClass: function () { 7 message.addClass("error"); 8 message.removeClass("text-success"); 9 }, 10 applySuccessErrorClass: function () { 11 message.addClass("text-success"); 12 message.removeClass("error"); 13 }, 14 validateForm: function () { 15 16 var txt = $("#EmailAddressSubscription"); 17 if (txt.valueOf().length > 0) { 18 var re = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/; 19 if (!txt.val().trim().match(re)) { 20 message.show(); 21 message.text(errorMessage); 22 Subscription.applyMessageErrorClass(); 23 return false; 24 } 25 else { 26 message.hide(); 27 return true; 28 } 29 } 30 else { 31 Subscription.applyMessageErrorClass(); 32 message.show(); 33 message.text(errorMessage); 34 return false; 35 } 36 }, 37 submitClickEvent: function () { 38 $("#btnSubmitSubscription").click(function (event) { 39 event.preventDefault(); 40 if (Subscription.validateForm()) { 41 waitingMessage.show(); 42 Subscription.serverCall(); 43 } 44 }); 45 }, 46 submitInputEnterKeyPress: function () { 47 $('#EmailAddressSubscription').on('keydown', function (e) { 48 if (e.keyCode == 13) { 49 e.preventDefault(); 50 // when enter is pressed 51 if (Subscription.validateForm()) { 52 waitingMessage.show(); 53 Subscription.serverCall(); 54 } 55 } 56 }); 57 }, 58 serverCall: function () { 59 var url = $('#urlForm').val(); 60 var data = $('#SubscriptionFormId').serialize(); 61 $.ajax({
62 url: url, 63 type: "POST", 64 data: data, 65 async: false, 66 success: function (response) { 67 $("#EmailAddressSubscription").text(''); 68 waitingMessage.hide(); 69 message.show(); 70 message.text(response.message); 71 console.log(response); 72 Subscription.applySuccessErrorClass(); 73 $("#EmailAddressSubscription").val(''); 74 } 75 , 76 error: function (xhr, ajaxOptions, thrownError) { 77 waitingMessage.hide(); 78 console.log(thrownError) 79 message.show(); 80 message.text(response.message); 81 Subscription.applyMessageErrorClass(); 82 } 83 }); 84 }, 85 86 init: function () { 87 Subscription.submitInputEnterKeyPress(); 88 Subscription.submitClickEvent(); 89 } 90} 91 92function callrequest() { 93 Subscription.serverCall(); 94} 95 96$(document).ready(function () { 97 Subscription.init(); 98});
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.