PageSourceSearch

https://swedauk.org/js/contact.js

js swedauk.org collected 2026-10-02 05:48:23 UTC 6,899 bytes, 239 lines download raw bytes

1const initialForm = document.querySelector('#contact__form--initial');
2const simpleForm = document.querySelector('#contact__form--simple');
3const referralForm = document.querySelector('#contact__form--referral');
4
5const enqTypeSelect = document.querySelector('#Enquiry_Type');
6const enqTypeInputs = document.querySelectorAll('.Enq_Type');
7
8let widget1;
9let widget2;
10
11const formBtns = document.querySelectorAll('.contact__form .row.submit .btn');
12
13var onLoadCallback = () => {
14  widget1 = grecaptcha.render('simpleCaptcha', {
15    sitekey: '6LcDY2QjAAAAAFOFqe5HXoxgB_bGvCsNhjydZC2Q',
16  });
17
18  widget2 = grecaptcha.render('referralCaptcha', {
19    sitekey: '6LcDY2QjAAAAAFOFqe5HXoxgB_bGvCsNhjydZC2Q',
20  });
21};
22
23enqTypeSelect.addEventListener('change', ({ target }) => {
24  const val = target.value;
25
26  initialForm.classList.add('hidden');
27
28  if (
29    val === 'Self Referral' ||
30    val === 'Professional Enquiry' ||
31    val === 'Other'
32  ) {
33    simpleForm.classList.remove('hidden');
34    referralForm.classList.add('hidden');
35  } else if (val === 'Professional Referral') {
36    referralForm.classList.remove('hidden');
37    simpleForm.classList.add('hidden');
38  }
39
40  enqTypeInputs.forEach((input) => {
41    input.value = val;
42  });
43});
44
45simpleForm.addEventListener('submit', async (e) => {
46    try {
47  e.preventDefault();
48  console.log('form submitted');
49
50  formBtns.forEach((btn) => {
51    btn.disabled = true;
52  });
53
54  const recaptchaResponse = grecaptcha.getResponse(widget1);
55
56  const honeypot = document.querySelector('.honeypot1');
57
58  if (honeypot.value) {
59      console.log('honeypot');
60    return;
61  }
62
63  if (
64    enqTypeSelect.value === '' ||
65    enqTypeSelect.value === 'Select Enquiry Type'
66  ) {
67      console.log('no enquiry type');
68    return;
69  }
70
71  const dataToSend = {
72    Enq_Type: document.querySelector('#Enq_Type1').value,
73    First_Name: document.querySelector('#First_Name').value,
74    Last_Name: document.querySelector('#Last_Name').value,
75    Address1: document.querySelector('#Address1').value,
76    Address2: document.querySelector('#Address2').value,
77    Town: document.querySelector('#Town').value,
78    Postcode: document.querySelector('#Postcode').value,
79    Home_Phone: document.querySelector('#Home_Phone').value,
80    Mobile: document.querySelector('#Mobile').value,
81    Email: document.querySelector('#Email').value,
82    Comment: document.querySelector('#Comment').value,
83    Under_18: document.querySelector('#Under_18').checked,
84    recaptchaResponse,
85  };
86  
87  console.log(dataToSend);
88
89  const res = await fetch('https://contactapi.swedauk.org/contact-sweda', {
90    method: 'POST',
91    headers: {
92      'Content-Type': 'application/json',
93    },
94    mode: 'cors',
95    body: JSON.stringify(dataToSend),
96  });
97  
98  console.log('do i get here');
99  console.log(res)
100  console.log('but not here');
101
102  const data = await res.json();
103  console.log(data);
104
105  if (res.ok) {
106    simpleForm.classList.add('hidden');
107    referralForm.classList.add('hidden');
108    initialForm.classList.remove('hidden');
109
110    initialForm.querySelector('h3').textContent = 'Thank you for your enquiry';
111
112    formBtns.forEach((btn) => {
113      btn.disabled = false;
114    });
115  } else {
116      console.log('res not ok')
117  }
118    } catch(err) {
119        console.error(err)
120        return
121        
122        formBtns.forEach((btn) => {
123          btn.disabled = false;
124        });
125    }
126});
127
128
129//
130//
131//
132//
133//
134//
135//
136//
137//
138//
139//
140//
141
142
143referralForm.addEventListener('submit', async (e) => {
144    try {
145  e.preventDefault();
146  console.log('form submitted');
147
148  formBtns.forEach((btn) => {
149    btn.disabled = true;
150  });
151
152  const recaptchaResponse = grecaptcha.getResponse(widget2);
153
154  const honeypot = document.querySelector('.honeypot2');
155
156  if (honeypot.value) {
157      console.log('honeypot');
158    return;
159  }
160
161  if (
162    enqTypeSelect.value === '' ||
163    enqTypeSelect.value === 'Select Enquiry Type'
164  ) {
165      console.log('no enquiry type');
166    return;
167  }
168
169  const dataToSend = {
170    Enq_Type: document.querySelector('#Enq_Type2').value,
171    Referrer_First_Name: document.querySelector('#Referrer_First_Name').value,
172    Referrer_Last_Name: document.querySelector('#Referrer_Last_Name').value,
173    Referrer_Position: document.querySelector('#Referrer_Position').value,
174    Referrer_Organisation: document.querySelector('#Referrer_Organisation')
175      .value,
176    Referrer_Address1: document.querySelector('#Referrer_Address1').value,
177    Referrer_Address2: document.querySelector('#Referrer_Address2').value,
178    Referrer_Town: document.querySelector('#Referrer_Town').value,
179    Referrer_Postcode: document.querySelector('#Referrer_Postcode').value,
180    Referrer_Phone: document.querySelector('#Referrer_Phone').value,
181    Referrer_Mobile: document.querySelector('#Referrer_Mobile').value,
182    Referrer_Email: document.querySelector('#Referrer_Email').value,
183    Comment: document.querySelector('#Comment_Referral').value,
184    First_Name: document.querySelector('#First_Name_Referral').value,
185    Last_Name: document.querySelector('#Last_Name_Referral').value,
186    Address1: document.querySelector('#Address1_Referral').value,
187    Address2: document.querySelector('#Address2_Referral').value,
188    Town: document.querySelector('#Town_Referral').value,
189    Postcode: document.querySelector('#Postcode_Referral').value,
190    Home_Phone: document.querySelector('#Home_Phone_Referral').value,
191    Mobile: document.querySelector('#Mobile_Referral').value,
192    Email: document.querySelector('#Email_Referral').value,
193    DoB: document.querySelector('#DoB').value,
194    Gender_Pronowns: document.querySelector('#Gender_Pronowns').value,
195    GP_Surgery: document.querySelector('#GP_Surgery').value,
196    Under_18: document.querySelector('#Under_18_Referral').checked,
197    Client_Health_Issues: document.querySelector('#Client_Health_Issues').value,
198    Client_Professionals: document.querySelector('#Client_Professionals').value,
199    Client_Additional_Needs: document.querySelector('#Client_Additional_Needs')
200      .value,
201    Client_Referral_Reason: document.querySelector('#Client_Referral_Reason')
202      .value,
203    recaptchaResponse,
204  };
205
206  console.log(JSON.stringify(dataToSend));
207
208  const res = await fetch('https://contactapi.swedauk.org/contact-sweda', {
209    method: 'POST',
210    headers: {
211      'Content-Type': 'application/json',
212    },
213    mode: 'cors',
214    body: JSON.stringify(dataToSend),
215  });
216
217  const data = await res.json();
218  console.log(data);
219
220  if (res.ok) {
221    simpleForm.classList.add('hidden');
222    referralForm.classList.add('hidden');
223    initialForm.classList.remove('hidden');
224
225    initialForm.querySelector('h3').textContent = 'Thank you for your enquiry';
226
227    formBtns.forEach((btn) => {
228      btn.disabled = false;
229    });
230  }
231    } catch(err) {
232        console.error(err)
233        return
234        
235        formBtns.forEach((btn) => {
236          btn.disabled = false;
237        });
238    }
239});

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.