Goldenrod Crawl Space Repair has helped countless homeowners like you solve problems with their crawl spaces over the years. Goldenrod Crawl Space Repair specializes in crawl space repair, mold remediation, and more.
We aim to improve the health and safety of your home in Goldenrod, FL. Florida homeowners have unique problems with mold, wood rot, and pest infestations in their crawl spaces. The solution is to prevent moisture from permeating the crawl space walls using Goldenrod Crawl Space Repair’s specific encapsulation system.
Our proven services and in-depth knowledge of local conditions can permanently resolve the problems caused by your home’s current condition. Hire us today to get started!
Schedule your free estimate today!
GET IN TOUCH
Our Services
Crawl Space Encapsulation
Crawl Space Entry Well
Crawl Space Dehumidifier
Crawl Space Repair
Crawl Space Door Insulation
Crawl Space Support Posts
Goldenrod Crawl Space Repair
★★★★★Rated 5 out of 5
Goldenrod Crawl Space Repair Goldenrod, FL 407-214-4571
.elementor-form .elementor-message-danger,
.elementor-form .elementor-message-danger:before,
.elementor-form .elementor-message,
.elementor-form .elementor-error,
.elementor-form .elementor-field-error {
display: none !important;
}
(function () {
var VALIDATION_WORKER_URL =
window.FORM_VALIDATION_WORKER_URL ||
'https://form-validation-worker.michael-215.workers.dev/';
function removeElementorErrors(form) {
form.querySelectorAll(
'.elementor-message-danger,' +
'.elementor-message,' +
'.elementor-error,' +
'.elementor-field-error'
).forEach(function (el) {
el.remove();
});
}
function finishSubmission(form, submitBtn, originalText) {
removeElementorErrors(form);
// Static site: CallRail captures the lead
if (window.CallTrk && typeof CallTrk.captureForm === 'function') {
CallTrk.captureForm(form);
alert('Thank you! Your request has been submitted successfully.');
form.reset();
submitBtn.disabled = false;
submitBtn.textContent = originalText;
return;
}
// Live WordPress: pass through to Elementor AJAX after validation
form.dataset.validationPassed = 'true';
submitBtn.disabled = false;
submitBtn.textContent = originalText;
alert('Thank you! Your request has been submitted successfully.');
setTimeout(function () {
submitBtn.click();
}, 300);
}
function initFormValidation(form) {
if (form.dataset.validationInitialized === 'true') return;
var submitBtn = form.querySelector('button[type="submit"]');
var firstName = form.querySelector('[name="form_fields[ct_fName]"]');
var lastName = form.querySelector('[name="form_fields[ct_lName]"]');
var phoneField = form.querySelector('[name="form_fields[ct_pNumber]"]');
var emailField = form.querySelector('[name="form_fields[ct_email]"]');
var zipField = form.querySelector('[name="form_fields[ct_zCode]"]');
if (!submitBtn || !firstName || !lastName || !phoneField || !emailField || !zipField) {
return;
}
form.dataset.validationInitialized = 'true';
form.setAttribute('novalidate', 'novalidate');
phoneField.setAttribute('type', 'text');
emailField.setAttribute('type', 'text');
var observer = new MutationObserver(function () {
removeElementorErrors(form);
});
observer.observe(form, { childList: true, subtree: true });
submitBtn.addEventListener(
'click',
async function (e) {
if (form.dataset.validationPassed === 'true') {
form.dataset.validationPassed = '';
return;
}
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
removeElementorErrors(form);
var fName = firstName.value.trim();
var lName = lastName.value.trim();
var phone = phoneField.value.trim();
var email = emailField.value.trim();
var zip = zipField.value.trim();
var cleanPhone = phone.replace(/D/g, '');
var nameRegex = /^[A-Za-zs'-]{2,30}$/;
var emailRegex = /^S+@S+.S+$/;
var zipRegex = /^d{5}(-d{4})?$/;
if (!nameRegex.test(fName)) {
alert('Enter a valid first name.');
firstName.focus();
return;
}
if (!nameRegex.test(lName)) {
alert('Enter a valid last name.');
lastName.focus();
return;
}
if (cleanPhone.length !== 10) {
alert('Enter a valid 10-digit phone number.');
phoneField.focus();
return;
}
if (!emailRegex.test(email)) {
alert('Enter a valid email address.');
emailField.focus();
return;
}
if (!zipRegex.test(zip)) {
alert('Enter a valid ZIP code.');
zipField.focus();
return;
}
submitBtn.disabled = true;
var originalText = submitBtn.textContent;
submitBtn.textContent = 'Submitting...';
try {
var response = await fetch(VALIDATION_WORKER_URL, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
firstName: fName,
lastName: lName,
phone: cleanPhone,
email: email,
zip: zip
})
});
var data = await response.json();
if (!data.success) {
alert(data.message || 'Submission blocked. Please check your details.');
submitBtn.disabled = false;
submitBtn.textContent = originalText;
return;
}
finishSubmission(form, submitBtn, originalText);
} catch (error) {
console.error('Worker validation failed:', error);
alert('Something went wrong. Please try again.');
submitBtn.disabled = false;
submitBtn.textContent = originalText;
}
},
true
);
removeElementorErrors(form);
console.log('Form validation ready:', form.getAttribute('name') || 'elementor-form');
}
function boot() {
document.querySelectorAll('.elementor-form').forEach(initFormValidation);
}
document.addEventListener('DOMContentLoaded', function () {
boot();
setTimeout(boot, 500);
setTimeout(boot, 2000);
if (typeof MutationObserver !== 'undefined') {
var mo = new MutationObserver(boot);
mo.observe(document.body, { childList: true, subtree: true });
}
});
})();