PageSourceSearch

https://www.westland.net/realestate/modal-form.js

js westland.net collected 2026-10-02 07:47:47 UTC 4,449 bytes, 144 lines download raw bytes

1
2
3// // Messaging
4// const sendModalForm = (e) => {
5//   e.preventDefault()
6
7//   // Get Modal ID
8//   const formId = e.srcElement.id
9//   const id = formId.match(/\d+/)[0]
10
11//   const MAILER_URL = 'https://api.westland.net/realestate-mailer/'
12
13//   // Form constants
14//   let name = document.getElementById('name' + id).value.trim()
15//   const phone = document.getElementById('phone' + id).value.trim()
16//   const email_address = document.getElementById('email_address' + id).value.trim()
17//   const message = document.getElementById('message' + id).value.trim()
18//   const now = new Date()
19
20//   // Email variables from global variables
21//   var price = window['price' + id] ? window['price' + id] : ''
22//   var address = window['address' + id] ? window['address' + id] : ''
23//   var unit = window['unit' + id] ? window['unit' + id] : ''
24//   var cityStateZip = window['cityStateZip' + id] ? window['cityStateZip' + id] : ''
25//   var mls = window['mls' + id] ? window['mls' + id] : ''
26
27//   // Mailgun constants
28//   const email = `[email protected]`
29//   const subject = `REAL ESTATE MESSAGE from: ${name}`
30//   const text = (`Message from ${name}
31
32//     ${now}
33
34//     Name: ${name}
35//     Email: ${email_address}
36//     Phone: ${phone}
37//     Message: ${message}
38
39//     Property of Interest:
40//     Address:
41//     ${address}${unit}
42//     ${cityStateZip}
43//     Price: ${price}
44//     MLS #: ${mls}
45//     `
46//   )
47
48//   // Clear fetch message
49//   document.getElementById("mailer-message" + id).innerHTML = ""
50
51//   // Clear form validation
52//   document.getElementById("name-error" + id).innerHTML = ""
53//   document.getElementById("phone-email-error" + id).innerHTML = ""
54//   document.getElementById("phone-error" + id).innerHTML = ""
55//   document.getElementById("email-error" + id).innerHTML = ""
56
57//   // Form validation
58//   let regex = ""
59//   let isNameValid = false
60//   let isPhoneOrEmail = false
61//   let isPhoneValid = true
62//   let isEmailValid = true
63
64//   if(name == "") {
65//     let message = '  Please fill in your name'
66//     document.getElementById("name-error" + id).innerHTML = message
67//     isNameValid = false
68//   } else {
69//     isNameValid = true
70//   }
71
72//   if((phone != "") || (email_address != "") ) {
73//     document.getElementById("phone-email-error" + id).innerHTML = ""
74//     isPhoneOrEmail = true
75
76//     if(phone != "") {
77//       regex = /^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$/
78//       if(regex.test(phone) === false) {
79//         let message = '  Please enter a correct phone number'
80//         document.getElementById("phone-error" + id).innerHTML = message
81//         isPhoneValid = false
82//       } else {
83//         isPhoneValid = true
84//       }
85//     }
86
87//     if(email_address != "") {
88//       regex = /^\S+@\S+\.\S+$/
89//       if(regex.test(email_address) === false) {
90//         let message = '  Please enter a correct email'
91//         document.getElementById("email-error" + id).innerHTML = message
92//         isEmailValid = false
93//       } else {
94//         isEmailValid = true
95//       }
96//     }
97//   } else {
98//     let message = '  Please enter phone or email'
99//     document.getElementById("phone-email-error" + id).innerHTML = message
100//     isPhoneOrEmail = false
101//   }
102  
103//   if(isNameValid == false) {
104//     return false
105//   }
106//   if(isPhoneOrEmail == false) {
107//     return false
108//   }
109//   if(isPhoneValid == false){
110//     return false
111//   }
112//   if(isEmailValid == false){
113//     return false
114//   }
115//   // End form validation
116
117//     fetch(MAILER_URL, {
118//       method: 'POST',
119//       headers: {
120//         "Content-Type": "application/json"
121//       },
122//       body: JSON.stringify({ 
123//         email,
124//         subject,
125//         text,
126//       })
127//     })
128//     .then((data) => {
129//       if(data.status === 200) {
130//         let message = '<span class="message-success">Message Sent</span>'
131//         document.getElementById("mailer-message" + id).innerHTML = message
132//       }
133//       console.log('success!', data)
134//     })
135//     .catch((err) => {
136//       console.log('error!', err)
137//       let message = '<span class="message-error">Message Error</span>'
138//       document.getElementById("mailer-message" + id).innerHTML = message
139//     })
140//     const messageForm = document.getElementById('message-form' + id)
141//     messageForm.reset()
142//   }
143
144//   realestateHome.addEventListener('submit', sendModalForm)

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.