1var fm = $('#tls-OneforLivesFoundation'); 2var btn = `<div class="form-group"><div class="row"><div class="col-sm-4 col-md-3"></div><div class="col-sm-8 col-md-9"><button style="font-size: 22px;" type="button" id="BTNOneforLivesFoundation" class="btn btn-primary">สà¹à¸à¸à¹à¸à¸¡à¸¹à¸¥</button></div></div></div>`; 3 4$(fm).append(btn); 5var sv = { 6 post : function(e) 7 { 8 $(fm).find('button#BTNOneforLivesFoundation').html('à¸à¸³à¸¥à¸±à¸à¸ªà¹à¸à¸à¹à¸à¸¡à¸¹à¸¥...').attr('disabled', true); 9 var input = new FormData($(fm)[0]); 10 $.ajax({ 11 url: "/post-oneforlive.php", 12 data: input, 13 cache: false, 14 contentType: false, 15 processData: false, 16 type: 'POST', 17 dataType: 'json' 18 }).done(function(rs) { 19 if (rs.status) sv.message('success', rs.message); 20 else sv.message('error', rs.message); 21 $(fm).find('button#BTNOneforLivesFoundation').html('สà¹à¸à¸à¹à¸à¸¡à¸¹à¸¥').removeAttr('disabled'); 22 }).fail(function() { 23 sv.message('error', "<p style=\"font-size: 16px;text-align: center;margin-top: 15px;\">à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸à¹à¹à¸à¸à¸à¸°à¸à¸µà¹ à¸à¸£à¸¸à¸à¸²à¸¥à¸à¸à¹à¸«à¸¡à¹à¸ ายหลัà¸."); 24 $(fm).find('button#BTNOneforLivesFoundation').html('สà¹à¸à¸à¹à¸à¸¡à¸¹à¸¥').removeAttr('disabled'); 25 }); 26 }, 27 message: function(t, m) 28 { 29 $('#message-submit-alert .modal-body').html(`${m}`); 30 $("#message-submit-alert").modal("show"); 31 } 32} 33 34// $(document).on('submit', fm, function(e){ 35// e.preventDefault(); 36// sv.post(this); 37// }) 38 39$(document).on('click', '#BTNOneforLivesFoundation', function(e){ 40 var inpFullname, inpEmail, inpSubject, inpCMessage, fullname, email, subject, cMessage; 41 inpFullname = $('input[name="fullname"]') 42 inpEmail = $('input[name="email"]') 43 inpSubject = $('select[name="desiredSubject"]') 44 inpCMessage = $('textarea[name="message"]') 45 46 fullname = $(inpFullname).val() 47 email = $(inpEmail).val() 48 subject = $(inpSubject).val() 49 cMessage = $(inpCMessage).val() 50 51 $('.message.message-error').remove(); 52 53 var hasError = false; 54 var firstElement; 55 56 if (fullname.length == 0) 57 { 58 $(inpFullname).closest('div').append(`<span class="message message-error">à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸ à¸à¸·à¹à¸-à¸à¸²à¸¡à¸ªà¸à¸¸à¸¥</span>`); 59 if (!hasError) firstElement = inpFullname; 60 hasError = true; 61 } 62 63 if (email.length == 0) 64 { 65 $(inpEmail).closest('div').append(`<span class="message message-error">à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸ à¸à¸µà¹à¸¡à¸¥</span>`); 66 if (!hasError) firstElement = inpEmail; 67 hasError = true; 68 } else { 69 if (!/^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email)) 70 { 71 $(inpEmail).closest('div').append(`<span class="message message-error">à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸ à¸à¸µà¹à¸¡à¸¥ à¹à¸«à¹à¸à¸¹à¸à¸à¹à¸à¸</span>`) 72 if (!hasError) firstElement = inpEmail; 73 hasError = true; 74 } 75 } 76 77 if (subject.length == 0) 78 { 79 $(inpSubject).closest('div').append(`<span class="message message-error">à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸ à¹à¸£à¸·à¹à¸à¸</span>`); 80 if (!hasError) firstElement = inpSubject; 81 hasError = true; 82 } 83 84 if (cMessage.length == 0) 85 { 86 $(inpCMessage).closest('div').append(`<span class="message message-error">à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸ à¸à¹à¸à¸à¸§à¸²à¸¡</span>`); 87 if (!hasError) firstElement = inpCMessage; 88 hasError = true; 89 } 90 91 $('.message.message-error').css({'color': 'red', 'font-size': '18px'}) 92 93 if (hasError) 94 { 95 $(firstElement).focus() 96 return; 97 } 98 99 // validate success don't have error 100 sv.post(this); 101}) 102 103$(document).on('click', '.modal-dialog button', function(){ location.reload(); }) 104 105// validate input form 106$(document).on("keypress", 'input[name="fullname"]', function (e) { 107 var re = /[a-zà¸-๠]/g; 108 digit = String.fromCharCode(e.which); 109 if (!re.test(digit)) { 110 return e.preventDefault(); 111 } 112}); 113 114$(document).on("keypress", 'input[name="email"]', function (e) { 115 var re = /[[email protected]_]/g; 116 digit = String.fromCharCode(e.which); 117 if (!re.test(digit)) { 118 return e.preventDefault(); 119 } 120}); 121 122$(document).on('keypress', 'input, textarea', function(e){ 123 $(this).closest('div').find('.message').remove() 124})
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.