PageSourceSearch

https://www.thailife.com/public/js/onefor-lives-foundation.js?v=1790242522

js thailife.com collected 2026-09-24 09:36:01 UTC 4,226 bytes, 124 lines download raw bytes

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.