Let's Talk!

With Belton Concrete Repair And Leveling, you're not going to hit a ridiculously long phone menu when you call us. Your email isn't going to the inbox abyss, never to be seen or heard from again. With Belton Concrete Repair And Leveling, we provide the exceptional service we'd want to experience ourselves!

We are Local

Belton, Texas

Give us a ring

254-274-3756
Mon - Fri, 8:00am - 5:00pm

Contact Us

    Contact Us










    View our Privacy Policy.

    .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 }); } }); })();